JSON中的JSON字符串

时间:2014-10-07 14:47:47

标签: javascript json escaping stringify

我想在JSON请求中创建一个JSON字符串。这是我的代码,

Fiddle

JS

var x = {
    a: 1,
    b: 'a sample text',
};

var request = {
    t: JSON.stringify(x),
    c: 2,
    r: 'some text'
};

console.log(request);

有人可以帮助我如何逃避双引号吗?

控制台

Object {
  t: "{"a":1,"b":"a sample text"}", //This creates a problem, double quotes inside double quotes.
  c: 2, 
  r: "some text"
}

提前致谢。

3 个答案:

答案 0 :(得分:6)

这就是浏览器控制台通过用输出的双引号括起来显示字符串值的方式。这是完全正常的,没有任何东西被打破。

您可以通过将JSON字符串转换回对象并使用属性来测试它。

console.log( JSON.parse(request.t).b ); // a sample text

答案 1 :(得分:5)

没有问题。只需通过console.log分隔即可显示所有字符串的"

正如你所说的那样,{J}请求中使用了这个request对象,它将在JSON.stringify再次进行,并使用有效的结果

{"t":"{\"a\":1,\"b\":\"a sample text\"}","c":2,"r":"some text"}

答案 2 :(得分:1)

嗯,这可能没有帮助。但是,我遇到了一个问题,其中JSON中的JSON字符串没有属性。我能够执行以下操作来解析JSON字符串:

//Return from remote php request {'{"firsttest": 0, ""scndTest": 1"}'};
// How to access 
let data = Object.Keys(jsonWJsonString)[0];
let justJSONValue = JSON.parse(data);

之所以有效,是因为没有要引用的对象属性,因此可以使用索引值。这给了我们JSONString。希望对任何人有帮助。干杯