我从服务器得到响应json字符串,如下所示:
$scope.text = '{"response":"{\"firstName\":\"John\",\"age\":454 }"}';
如何在角度模板页面中使用$scope.text
,如下所示:
{{text.response.age}}
这是我的演示Demo
答案 0 :(得分:2)
$scope.text = '{"response":"{\"firstName\":\"John\",\"age\":454 }"}';
这里的问题是这不是JSON。
单凭:
{"response":"{\"firstName\":\"John\",\"age\":454 }"}
...是JSON。
但是,一旦将其包装在JavaScript字符串文字中,\
将用作JavaScript字符串文字的转义字符,并在它出现在JSON中之前被消耗。
当你生成JS中嵌入的JSON时,你需要在JS中转义具有特殊含义的字符:
$scope.text = '{"response":"{\\"firstName\\":\\"John\\",\\"age\\":454 }\"}';
重新设计数据结构也是一个好主意,这样你的JSON就不会首先包含JSON字符串:
$scope.text = '{"response": {"firstName":"John","age":454}}';