如果我用以下方法在JS中定义了一个对象:
var j={"name":"binchen"};
如何将对象转换为JSON?输出字符串应为:
'{"name":"binchen"}'
如果我用以下方法在JS中定义了一个对象:
var j={"name":"binchen"};
如何将对象转换为JSON?输出字符串应为:
'{"name":"binchen"}'
采用 JSON.stringify(param1, param2, param3);
什么是: -
param1->值转换为JSON
param2->函数以您自己的方式进行字符串化。另外,它还可以作为白名单,最终JSON中需要包含这些对象。
param3-> Number数据类型,指示要添加的空格数。允许的上限为10。
您可以使用JSON.stringify()方法将JSON对象转换为String。
var j={"name":"hello world"};
JSON.stringify(j);
要将此字符串转换回json对象,可以使用JSON.parse()方法。
只是JSON.stringify
用来进行这种转换-但是请记住,具有undefined
值的字段不会包含在json中
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
remember
输出json 字段“消失”
我遇到了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 += "]}";
MyObjectStringify会为您提供字符串表示形式(就像在该线程中其他时候所提到的那样),除非您有一个大对象,这也应该起作用- 只需确保将其构建为适合您的需求 -我需要它的名称比数组大
易用...易于使用
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
谢谢
您可以像这样使用本机stringify函数
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
JSON.stringify
将Javascript对象转换为JSON文本并将该JSON文本存储在字符串中。
转换是对象到字符串
JSON.parse
将JSON文本字符串转换为Javascript对象。
转换是从字符串到对象
var j={"name":"binchen"};
使其可以使用以下JSON字符串。
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
有关更多信息,您可以参考下面的链接。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
如果您使用的是AngularJS,则“ json”过滤器应执行以下操作:
<span>{{someObject | json}}</span>
查看Thomas Frank更新/更好的方式:
2008年5月17日更新:小型消毒剂已添加到toObject方法中。现在,如果toObject()在字符串中发现任何恶意代码,就不会再对其进行eval()处理。为了进一步提高安全性:请不要将includeFunctions标志设置为true。
JSON概念的父亲Douglas Crockford编写了JavaScript的首批字符串化器之一。后来Trim Path的Steve Yen写了一个不错的改进版本,我使用了一段时间。我想与您分享这是我对史蒂夫版本的更改。基本上,它们源于我希望做成串器的愿望:
- 处理和恢复循环引用
- 包括功能/方法的JavaScript代码(作为选项)
- 如果需要,从Object.prototype中排除对象成员。
JSON.stringify(j, null, 4)
在需要美化的情况下也会为您提供美化的JSON
第二个参数是replacer。它可用作过滤器,您可以在进行字符串过滤时过滤掉某些键值。如果设置为null,它将返回所有键值对
在angularJS中
angular.toJson(obj, pretty);
obj:输入要序列化为JSON。
pretty(可选):
如果设置为true,则JSON输出将包含换行符和空格。如果设置为整数,则JSON输出每个缩进将包含那么多空格。
(默认值:2)
您可以使用JSON.stringify()方法将JSON对象转换为String。
var j={"name":"binchen"};
JSON.stringify(j)
对于反向过程,可以使用JSON.parse()方法将JSON字符串转换为JSON对象。
用这个,