JSON字符串化具有属性的对象数组

Xuhang

我试图对具有额外属性的对象数组进行字符串化处理。

var data = [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}];
data.extra = ["a", "b"];

console.log(data)
// [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}, extra: ["a", "b"]]

console.log(JSON.stringify(data));
//[{foo: "1", bar: "2"}, {foo: "2", bar:"3"}]

:为什么未对“额外”属性进行字符串化?如何在JSON.stringify()中保留缺少的属性?

Raina77ow

因为data不仅仅是一个对象-它还是一个数组。而且,当对数组进行json字符串化处理时,所有非数字属性都将从结果中丢弃(因为[...]无论如何都无法用表示表示它们)。

如果仍然想在JSON中查看该属性,则必须使用普通对象。您可以咬一下子弹,然后用{ ... }“简单地对象化”原始数组

const data = [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}];
data.extra = ["a", "b"];
JSON.stringify( {...data} );
// "{"0":{"foo":"1","bar":"2"},"1":{"foo":"2","bar":"3"},"extra":["a","b"]}"

...但是请注意,所有这些“ 0”,“ 1”道具都会照原样在您的JSON内部显示,而这并不是最好的视图。通常使用其他属性会更清洁:

const data = [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}];
const extra = ["a", "b"];
const output = {
  data,
  extra
};
JSON.stringify(output);
// "{"data":[{"foo":"1","bar":"2"},{"foo":"2","bar":"3"}],"extra":["a","b"]}"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有来自对象数组的字符串属性的 NSSet

ObjectBox从数组中查询具有字符串属性的所有对象

从带有信息的字符串创建具有初始化属性的对象列表

Swift-如何从具有String属性的对象数组中创建字符串?

JavaScript:在数组中查找具有包含特定字符串的属性的对象

如何从字符串创建数组中具有属性的对象?

Java:查找 JSON 对象属性作为精确的 JSON 子字符串(具有精确的格式)

如何将具有JSON字符串的数组转换为JSON对象(红宝石)

当具有空格分隔值时,JSON 字符串化字符串在数据属性内中断

如何从具有特定属性的对象的C#列表中创建json字符串?

JSON的AngularJS ng-repeat包含字符串或具有相同属性的数组

具有字符串属性的数组的类型或接口

如何使用具有字符串数组的JSON对象填充选择ng-options?

AutoMapper将具有字符串属性的对象转换为具有URI属性的对象

如何序列化具有多种对象类型的 json 字符串?

无法解析具有mongo db对象ID以及“ \”的json序列化字符串

将json数组转换为仅具有react中json属性值的字符串数组

使数组具有相同的长度,附加json字符串

使用fetch(url)和json数据具有数组对象,将输出数组作为分隔字符串

如何声明 TS 类型,该类型是具有类型为数字或字符串值的属性的对象数组?

表示为字符串时,格式化每行具有一个属性的对象

带有变量和数组的 JSON 字符串化

Automapper - 将字符串列表映射到具有字符串属性的对象列表

具有属性字符串的UIPickerView

JSON字符串化跳过具有三个以上级别的跳过嵌套对象

将字符串数组转换为具有不同键的对象数组 JS

根据“具有部分匹配”的字符串数组过滤对象数组

如何将字符串数组转换为具有多个元素的对象数组

将字符串数组转换为JSON属性中的对象数组