Bin*_*hen 1199 javascript string json object
如果我用JS定义了一个对象:
var j={"name":"binchen"};
Run Code Online (Sandbox Code Playgroud)
如何将对象转换为JSON?输出字符串应为:
'{"name":"binchen"}'
Run Code Online (Sandbox Code Playgroud)
And*_*ris 1862
所有当前的浏览器都内置了原生JSON支持.因此,只要您不处理像IE6/7这样的史前浏览器,您就可以轻松地执行此操作:
var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 104
随着JSON.stringify()
中发现的json2.js或大部分现代浏览器本地.
Run Code Online (Sandbox Code Playgroud)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.
Sar*_*raz 30
查看更新/更好的方式:
2008年5月17日更新:添加到toObject方法的小型消毒剂.现在,如果字符串中发现任何恶意代码,toObject()将不会eval()该字符串.为了更加安全:不要将includeFunctions标志设置为true.
JSON概念之父Douglas Crockford编写了JavaScript的第一个字符串之一.后来,Trim Path的Steve Yen编写了一个很好的改进版本,我已经使用了一段时间.这是我对Steve的版本的修改,我想与你分享.基本上他们源于我想要制作弦乐器:
__PRE__
小智 22
您可以使用JSON.stringify()方法将JSON对象转换为String.
var j={"name":"binchen"};
JSON.stringify(j)
Run Code Online (Sandbox Code Playgroud)
对于反向过程,您可以使用JSON.parse()方法将JSON String转换为JSON Object.
Naz*_*lam 10
在angularJS
angular.toJson(obj, pretty);
Run Code Online (Sandbox Code Playgroud)
obj:要序列化为JSON的输入.
pretty(可选):
如果设置为true,则JSON输出将包含换行符和空格.如果设置为整数,则JSON输出将包含每个缩进的许多空格.
(默认:2)
如果你正在使用AngularJS,'json'过滤器应该这样做:
<span>{{someObject | json}}</span>
Run Code Online (Sandbox Code Playgroud)
JSON.stringify
将Javascript对象转换为JSON文本并将该JSON文本存储在字符串中.
转换是Object to String
JSON.parse
将一串JSON文本转换为Javascript对象.
转换是String to Object
var j={"name":"binchen"};
Run Code Online (Sandbox Code Playgroud)
使它成为一个JSON字符串可以使用.
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅以下链接.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
小智 6
为此定义了一个自定义,直到我们对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);
Run Code Online (Sandbox Code Playgroud)
OUTPUT
{"name":"binchen","class":"awesome"}
Run Code Online (Sandbox Code Playgroud)
现场 http://jsfiddle.net/mailmerohit5/y78zum6v/
我遇到了stringify内存不足的问题,其他解决方案似乎没有用(至少我无法让它们工作),这是我偶然发现这个线程的时候.感谢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 += "]}";
Run Code Online (Sandbox Code Playgroud)
MyObjectStringify会给你你的字符串表示(就像在这个线程中的其他时间一样),除非你有一个大对象,这也应该工作 - 只要确保你构建它以满足你的需要 - 我需要它的名字而不是数组
小智 6
Woking... 易于使用
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
Run Code Online (Sandbox Code Playgroud)
谢谢