问题
我想调用 JSON.stringify 传递我想要包含在字符串中的字段。我想要包含的字段之一是一个对象。正如我所期望的那样,JSON.stringify 方法不包含对象中的任何字段。
这是我的较大对象的一小部分;
var person = {
name: "John Doe",
Address: { Line1: "100 north main", City: "Des Moines" },
Phone: "555-5555"
}
Run Code Online (Sandbox Code Playgroud)
这是 stringify 方法调用
console.log(JSON.stringify(person,["name","Address"]));
Run Code Online (Sandbox Code Playgroud)
这是结果
"{\"name\":\"John Doe\",\"Address\":{}}"
Run Code Online (Sandbox Code Playgroud)
这是我创建的 js bin - http://jsbin.com/UYOVufa/1/edit?html,console。
我总是可以只对 person.Address 进行字符串化,并将其与另一个字符串组合起来,但这感觉有点矫枉过正。
我缺少什么?
谢谢,
JSON.stringify 接受替换器(该数组...)作为参数。请注意替换文档:
如果返回任何其他对象,该对象会递归地字符串化为 JSON 字符串,对每个属性调用替换函数,除非该对象是函数,在这种情况下,不会向 JSON 字符串添加任何内容。
(来源:https ://developer.mozilla.org/en-US/docs/Using_native_JSON#The_replacer_parameter )
这将起作用:
JSON.stringify(person,["name","Address", "Line1", "City"])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7804 次 |
| 最近记录: |