将JS对象转换为JSONstring

如果我用JS定义了一个对象:

var j={"name":"binchen"}; 

我如何将对象转换为JSON? 输出string应该是:

 '{"name":"binchen"}' 

目前所有的浏览器都内置了原生的JSON支持。因此,只要您不打算像IE6 / 7这样的史前浏览器,就可以像这样简单地完成:

 var j={"name":"binchen"}; JSON.stringify(j); // '{"name":"binchen"}' 

使用JSON.stringify()或在大多数现代浏览器中使用本机。

  JSON.stringify(value, replacer, space) value any JavaScript value, usually an object or array. replacer an optional parameter that determines how object values are stringified for objects. It can be a function or an array of strings. space an optional parameter that specifies the indentation of nested structures. If it is omitted, the text will be packed without extra whitespace. If it is a number, it will specify the number of spaces to indent at each level. If it is a string (such as '\t' or ' '), it contains the characters used to indent at each level. This method produces a JSON text from a JavaScript value. 

检查更新/更好的方式:

  • JSON stringify重访

2008年5月17日更新:小型消毒剂添加到toObject方法。 现在toObject()不会eval()string,如果它发现任何恶意代码。为了更安全:不要设置includeFunctions标志为true。

JSON概念之父道格拉斯·克罗克福德(Douglas Crockford)为JavaScript写了第一个string。 后来在Trim Path的Steve Yen写了一个很好的改进版本,我用了一段时间。 这是我对史蒂夫版本的改变,我想和大家分享一下。 基本上他们是因为我希望制造这种细绳机:

 • handle and restore cyclical references • include the JavaScript code for functions/methods (as an option) • exclude object members from Object.prototype if needed. 

您可以使用JSON.stringify()方法将JSON对象转换为String。

 var j={"name":"binchen"}; JSON.stringify(j) 

对于反向过程,可以使用JSON.parse()方法将JSONstring转换为JSON对象。

Json Stringify可以将您的js对象转换为json

  var x = {"name" : "name1"}; JSON.stringify(x); 
 JSON.stringify({"key":"value"}); 

如果你使用的是AngularJS,那么'json'filter应该这样做:

 <span>{{someObject | json}}</span> 

在angularJS

 angular.toJson(obj, pretty); 

obj:要被序列化为JSON的input。

漂亮(可选):
如果设置为true,则JSON输出将包含换行符和空格。 如果设置为整数,则JSON输出将包含每个缩进多less个空格。

(默认:2)

JSON.stringify将一个Javascript对象转换为JSON文本并将该JSON文本存储在一个string中。

转换是一个对象到string

JSON.parse将一串JSON文本转换成一个Javascript对象。

转换是一个string到对象

 var j={"name":"binchen"}; 

使其成为一个JSONstring以下可以使用。

 JSON.stringify({"key":"value"}); JSON.stringify({"name":"binchen"}); 

欲了解更多信息,请参阅下面的链接。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

 var someObj = { "name" : "some name" }; var someObjStr = JSON.stringify(someObj); console.log( someObjStr ); 

JSON.stringify(j,null,4)会给你美化的JSON,以防你需要美化

我有stringexit内存不足,其他解决scheme似乎没有工作(至less我不能让他们工作),当我偶然发现这个线程。 感谢Rohit Kumar,我只是遍历我的非常大的JSON对象来阻止它崩溃

 var j = MyObject; var myObjectStringify = "{\"MyObject\":["; var last = j.length var count = 0; for (x in j) { MyObjectStringify += JSON.stringify(j[x]); count++; if (count < last) MyObjectStringify += ","; } MyObjectStringify += "]}"; 

MyObjectStringify会给你你的string表示(就像在这个线程中提到的那样),除非你有一个大的对象,这也应该工作 – 只要确保你构build它以适应你的需要 – 我需要它有一个名称比数组

为此定义了一个自定义,直到我们从stringify方法做了一些奇怪的事情

 var j={"name":"binchen","class":"awesome"}; var dq='"'; var json="{"; var last=Object.keys(j).length; var count=0; for(x in j) { json += dq+x+dq+":"+dq+j[x]+dq; count++; if(count<last) json +=","; } json+="}"; document.write(json); 

OUTPUT

 {"name":"binchen","class":"awesome"} 

LIVE http://jsfiddle.net/mailmerohit5/y78zum6v/

沃金…易于使用

 $("form").submit(function(evt){ evt.preventDefault(); var formData = $("form").serializeArray(); // Create array of object var jsonConvert = JSON.stringify(formData); // Convert to json }); 

谢谢

只需复制和pase

 $("form").submit(function(evt){ evt.preventDefault(); var formData = $("form").serializeArray(); // Create array of object var jsonConvertedData = JSON.stringify(formData); // Convert to json }); 
 const obj = { "name":"xxx", "city":"York"}; const myJSON = JSON.stringify(obj); console.log(myJSON); 

你可以像这样使用原生的stringifyfunction

 const j={ "name": "binchen" } /** convert json to string */ const jsonString = JSON.stringify(j) console.log(jsonString) // {"name":"binchen"} 

如果你想以string格式获取json属性的值,可以使用下面的方法

 var i = {"x":1} var j = JSON.stringify(ix); var k = JSON.stringify(i); console.log(j); "1" console.log(k); '{"x":1}' 

定义对象

 let obj = { "firstname" : "Hello", "lastname" : "javascript" }; 

然后使用此代码将其转换为string

 strObj= JSON.stringify(obj); 

确保控制结果

 console.log(strObj); 

如果你有一个jsonstring,并且它没有用[]包装,那么先把它包装起来

 var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}'; str = '[' + str + ']'; var jsonobj = $.parseJSON(str); 

要么

 var jsonobj = eval('(' + str + ')'); console.log(jsonobj);