这是我在数据库中的文字:
"推奨切削条件 "
在PHP中,我使用Json_encode: 结果:
{"table1":[{"Item":{"original_text":"\u63a8\u5968\u5207\u524a\u6761\u4ef6 \b"}}]};
在javascript中:
var strData ='{"table1":[{"Item":{"original_text":"\u63a8\u5968\u5207\u524a\u6761\u4ef6 \b"}}]}';//getData();
strData=strData.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
var jsonData = JSON.parse(strData)
错误:
Uncaught SyntaxError: Unexpected token in JSON at position 56
at JSON.parse (<anonymous>)
谢谢。
答案 0 :(得分:2)
我必须将json复制到js
我不知道为什么,但是好吧……您根本不需要在Javascript中将其作为JSON字符串处理。 JSON是有效的Javascript文字。因此,只需将JSON粘贴到Javascript 中而不加引号:
var data = {"table1":[{"Item":{"original_text":"\u63a8\u5968\u5207\u524a\u6761\u4ef6 \b"}}]};
这是一个完全有效的Javascript对象文字,不需要解析。
如果您需要一个包含JSON字符串的有效Javascript字符串文字,请json_encode(json_encode(...))
对其进行两次以获取:
var strData = "{\"table1\":\"\\u63a8\\u5968\\u5207\\u524a\\u6761\\u4ef6 \\b\"}";
console.log(JSON.parse(strData));
答案 1 :(得分:-1)
您可以尝试使用
var strData ='{"table1":[{"Item":{"original_text":"\u63a8\u5968\u5207\u524a\u6761\u4ef6 \b"}}]}';
strData=strData.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
// Your code
// var jsonData = JSON.parse(strData);
var jsonData = JSON.parse(JSON.stringify(strData));
console.log(JSON.parse(JSON.stringify(jsonData)));
答案 2 :(得分:-4)
请将\ b替换为“” strData = strData.replace(“ \ b”,“”);
<script>
var strData ='{"table1":[{"Item":{"original_text":"\u63a8\u5968\u5207\u524a\u6761\u4ef6 \b"}}]}';
strData=strData.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
strData=strData.replace("\b","");
document.write(strData);
var jsonData = JSON.parse(strData)
document.write(jsonData);