我是nodejs,post请求php服务端,返回下面这个:
{"status":0,"msg":"ok","data":{"data_id":"6|933","data_url":"http:\/\/www.xxx.com\/index.php?m=content&c=index&a=show&catid=6&id=933"}}
这样解析。
let resultObj = JSON.parse(res.text);
但是报错了。
我把返回的json字符串,自己定义变量,又可以解析。拷贝到其他在线json解析也是可以的。证明json字符串完全正确的。
打印返回的字符串大小
console.log(res.text.length);
输出 长度是:148
我用另外一台服务器测试,一样的程序,返回一样的json字符串,返回长度 147.
所以,问题就在这里了。一个是148,一个是147.为啥有这个差距。我当初觉得是编码的问题。可是两个都是utf-8编码。
目前这个错误,各位猜测是什么引起的呢?
补充一下,回答都误解我的问题了。
可以证实,返回的json字符串没有什么语法错误。因为你把字符串拷贝下来,放到别的地方解析是可以解析的。
问题就出在为啥一个返回147、一个返回148。一样的字符串内容,长度却不一样。这一般是编码什么的引起的吧。但是这个又都是utf-8环境。所以想不通这里。问题解决的关键也是这里。