我正在尝试将一个编码为json的字符串保存到另一个json字符串中。
特别是,我必须能够处理空对象:“{}".
PHP程式码:
$sVal = "{}";
$jsonString = "{\"Var2\":\"My first var\", \"Var2\":\"My second var\", \"MyBlankObject\":\"{}\"}"
...
Javascript语言:
var oMyJSON = JSON.parse('< ?= $jsonString;? >');
我收到一个JSON解析错误,指出找到了一个意外的{
。
我可以在Chrome的调试器中看到代码。
在客户端(javascript)代码中,括号被简单地删除,对象被替换为单词null。这不是有效的JSON。
,"Properties":null,
这会导致javascript崩溃。
如果我尝试在服务器端(PHP)对它进行json_encode,我会在括号的两边得到双引号。
,"Properties":""{}"",
如果加上双引号,我会得到同样的结果:“"{}””
当然,这也会导致javascript崩溃。
在客户端中并且JSON对象保持不变后,我需要能够提取属性中保存的'string':MyBlankObject
,然后将JSON解码为单独JSON对象。
我所尝试的一切都失败了。我该如何完成这件事呢?
2条答案
按热度按时间s6fujrry1#
您可以使用PHP表示法定义对象,并让
json_encode
为您编码。然后在JavaScript中:
ctehm74n2#
我想出来了
(“"",“\"",jsnVal));