0

由于教程声称使用 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 对象了。

4

3 回答 3

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>

于 2017-07-01T12:26:02.847 回答
2

尝试这个 :

var myObj = { name:"John", age:31, city:"New York" };
var encodedParams = $.param(myObj);

console.log(encodedParams);

我希望它对你有帮助!

于 2017-07-01T12:15:38.333 回答
1

它在这里工作。

var myObj = { name:"John", age:31, city:"New York" };
var myJSON = JSON.stringify(myObj);

console.log(myJSON);
alert(myJSON);

于 2017-07-01T12:13:32.020 回答