gpt4 book ai didi

JavaScript 和 Json : Excluding Fields From Serialization and Deserialization

转载 作者:行者123 更新时间:2023-11-30 03:41:51 24 4
gpt4 key购买 nike

我使用 Java 使用 Gson 包从 Java 类读取 Json 或向 Java 类写入 Json。 Gson 的主要功能之一是能够与 User Defined Strategies 一起工作。可以通过编程方式定义要包含/排除哪些字段。

这在服务器端效果很好,但是 Javascript/客户端有类似的东西吗?

最佳答案

JSON.stringify() 函数采用一个可选的第二个参数,称为“替换器”。它可以是一个函数或一个数组,它指导序列化过程如何将值包含在正在构造的 JSON 字符串中。

如果参数是一个函数,它会传递两个参数,一个key(属性名称)和一个value。如果键是正在字符串化的“外部”对象的一部分,则 this 值被安排为 undefined;如果是字符串化的“外部”对象的一部分,则该值被安排为对子对象的引用。顶层对象下方的结构。如果键/值不应包含在结果中,该函数可能会返回 undefined

如果该值是一个数组,它指示要在结果中包含顶级对象的哪些属性。

因此:

var obj = {
a: 1,
b: {
c: 2,
notMe: "super secret"
},
d: 3
};

var str = JSON.stringify(obj, function replacer(key, value) {
if (this && key === "notMe" && this.c === 2)
return undefined;
return value;
});

将生成包含字符串的“str”

{ "a": 1, "b": { "c": 2 }, "d": 3 }

“b”对象的“notMe”属性将被排除。

关于JavaScript 和 Json : Excluding Fields From Serialization and Deserialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26684665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com