由于教程声称使用Javascript对象可以转换为JSON但是 当我尝试转换它时:
var myObj = { name:"John", age:31, city:"New York" };
使用:
var myJSON = JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
它没有用。
但如果我这样做:
var myObj = { "name":"John", "age":31, "city":"New York" };
var myJSON = JSON.stringify(myObj);
window.location = "demo_json.php?x=" + myJSON;
它有效。
为什么?如果它声称将JS对象转换为JSON,那为什么它不会?为什么我必须在字符串周围加上引号?如果我加上引号,那么它就不再是JS对象了。
答案 0 :(得分:2)
试试这个:
var myObj = { name:"John", age:31, city:"New York" };
var encodedParams = $.param(myObj);
console.log(encodedParams);
我希望它能帮到你!
答案 1 :(得分:2)
看看这个JS Fiddle。它转换它就好了。 stringify创建JSON对象的字符串表示形式。您是否在浏览器的控制台输出中收到JavaScript错误?
var myObj = { name:"John", age:31, city:"New York" };
var myJSON = JSON.stringify(myObj);
var test = "demo_json.php?x=" + myJSON;
document.querySelector("#test").innerText = test;
<div id='test'></div>
答案 2 :(得分:1)
它在这里工作。
var myObj = { name:"John", age:31, city:"New York" };
var myJSON = JSON.stringify(myObj);
console.log(myJSON);
alert(myJSON);