任何人请解释两个代码之间的区别。我正在尝试打印 JSON字符串。
1) console.log("Hello "+str);
2)
console.log("Hello");
console.log(str);
这是有效的
此代码提供错误 console.log(“Hello”+ str); 将循环结构转换为JSON
为什么会这样。任何人都可以解释一下这两个代码的区别。
编辑:这是我的代码
firstname="hello";
lastname= "hhf";
username= "dffflffl";
email="email@hitemai.com
password= "dddd";
var opts = {
url: 'localhost:8081/register',
method: 'POST',
body: JSON.stringify({first_name:firstname,last_name:lastname, user_name:username,email:email,password:password}),
};
谢谢
答案 0 :(得分:1)
JSON无法处理自引用对象(循环对象图),因此控制台无法打印这样的东西。
> var str = { x : 1}; str.x = str;
> JSON.stringify(str);
TypeError: cyclic object value
答案 1 :(得分:0)
如果str
应该是由JSON.stringify
生成的JSON字符串,那么如果要转换为JSON的对象具有对自身的引用或具有循环引用的子对象,则会出现该错误
请参阅:Chrome sendrequest error: TypeError: Converting circular structure to JSON。