Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript stringify JSON引用名称,而不是引用的对象_Javascript_Json - Fatal编程技术网

Javascript stringify JSON引用名称,而不是引用的对象

Javascript stringify JSON引用名称,而不是引用的对象,javascript,json,Javascript,Json,我有一个类似这样的JSON对象(这是一个示例) 此对象作为字符串存储在数据库中,并在页面加载时读取和解析()。它可能会被用户交互编辑,然后修改的对象需要stringify()-ed并写回数据库。除了stringify() 与此相反: "lock key" : house.keys.key1 我明白了: "lock key" : "23456" 如何让stringify()方法返回被引用对象的名称,而不是被引用对象本身 我已经研究过使用替换函数: JSON.stringify(house, r

我有一个类似这样的JSON对象(这是一个示例)

此对象作为字符串存储在数据库中,并在页面加载时读取和解析()。它可能会被用户交互编辑,然后修改的对象需要
stringify()
-ed并写回数据库。除了
stringify()

与此相反:

"lock key" : house.keys.key1
我明白了:

"lock key" : "23456"
如何让
stringify()
方法返回被引用对象的名称,而不是被引用对象本身

我已经研究过使用替换函数:

JSON.stringify(house, replacer);  // Where replacer() returns 'something else' for "lock key", but I don't know what 'something else' is.

谢谢。

只需将名称括在引号中,以便将其视为字符串,因此不会解析和放置值

 house.doors = [{
     "name": "Front door",
     "lock key": "house.keys.key1"
 }, {
     "name": "Back door",
     "lock key": "house.keys.key2"
 }]

这似乎是解决我问题的最好办法。它确实需要更改使用“house”对象的代码

之前,我引用的键是这样的:

var key1=房屋门[0][“锁钥匙”]

现在我必须使用:

var key1=房屋门[0][“锁钥匙”];
var key1=评估(key1)

(我相信我写对了。我的实际代码有很大的不同。)


总而言之,这是一个比我所考虑的其他解决方案更简单的解决方案。

只要用引号括起来就行了。

锁定键:house.keys.key1
这不是JSON。正确的JSON字符串必须是“lock key”:“house.keys.key1”
stringify
没有这样做。当你做作业的时候就发生了。属性值以对象文字计算。当您调用stringify时,原来的名称已不复存在。
 house.doors = [{
     "name": "Front door",
     "lock key": "house.keys.key1"
 }, {
     "name": "Back door",
     "lock key": "house.keys.key2"
 }]