Json.stringify 特定字段,其中字段之一是对象

RDo*_*Lee 0 json

问题
我想调用 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 进行字符串化,并将其与另一个字符串组合起来,但这感觉有点矫枉过正。

我缺少什么?

谢谢,

Alo*_*onL 5

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)