Javascript 将JS对象转换为JSON字符串
如果我在JS中定义了一个对象:Javascript 将JS对象转换为JSON字符串,javascript,json,string,object,Javascript,Json,String,Object,如果我在JS中定义了一个对象: var j={"name":"binchen"}; 如何将对象转换为JSON?输出字符串应为: '{"name":"binchen"}' 使用JSON.stringify可以在大多数现代浏览器中找到,也可以在大多数现代浏览器中找到 查看Thomas Frank的更新/更好的方式: 更新日期:2008年5月17日:小型消毒剂 添加到toObject方法中。现在 toObject不会求值字符串 如果在中发现任何恶意代码 它。为了更安全:不要设置 includeFu
var j={"name":"binchen"};
如何将对象转换为JSON?输出字符串应为:
'{"name":"binchen"}'
使用JSON.stringify可以在大多数现代浏览器中找到,也可以在大多数现代浏览器中找到
查看Thomas Frank的更新/更好的方式: 更新日期:2008年5月17日:小型消毒剂 添加到toObject方法中。现在 toObject不会求值字符串 如果在中发现任何恶意代码 它。为了更安全:不要设置 includeFunctions标志为true JSON概念之父道格拉斯·克罗克福德(Douglas Crockford)为JavaScript编写了第一批stringifier。后来,TrimPath的SteveYen写了一个很好的改进版本,我已经使用了一段时间。这是我对史蒂夫版本的修改,我想与大家分享。基本上,它们源于我制作架线机的愿望: 处理和恢复循环引用 包括函数/方法的JavaScript代码作为选项 如果需要,从object.prototype中排除对象成员。
所有当前浏览器都内置了本机JSON支持。因此,只要您不是在处理像IE6/7这样的史前浏览器,您就可以轻松地做到这一点: 变量j={ 姓名:宾晨 };
console.logJSON.stringifyj 如果您有一个json字符串,但它没有用[]包装,那么请先包装它
var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);
或
如果您使用的是AngularJS,则“json”过滤器应执行以下操作:
<span>{{someObject | json}}</span>
为此定义了一个自定义,直到我们从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);
LIVE您可以使用JSON.stringify方法将JSON对象转换为字符串
var j={"name":"binchen"};
JSON.stringify(j)
var j={"name":"hello world"};
JSON.stringify(j);
对于反向过程,您可以使用JSON.parse方法将JSON字符串转换为JSON对象。在angularJS中
angular.toJson(obj, pretty);
obj:
要序列化为JSON的输入
可选项:
如果设置为true,JSON输出将包含换行符和空格。如果设置为整数,JSON输出将在每个缩进中包含如此多的空格
默认设置:2我遇到了stringify内存不足的问题,其他解决方案似乎不起作用,至少我无法让它们工作,这是我偶然发现这个线程的时候。多亏了我迭代了我非常大的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将为您提供字符串表示,就像本线程中其他时候提到的一样,除非您有一个大型对象,这也应该可以工作-请确保您构建它以满足您的需要-我需要它有一个名称而不是数组您可以像这样使用本机stringify函数 常量j={name:binchen} /**将json转换为字符串*/ const jsonString=JSON.stringifyj console.logjsonString/{name:binchen}JSON.stringifyj,null,4将为您提供美化的JSON,以防您也需要美化 第二个参数是replacer。它可以用作过滤器,在字符串化时可以过滤掉某些键值。如果设置为null,它将返回所有键值对。。。易于使用
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
谢谢如果您想以字符串格式获取json属性值,请使用以下方法
var i = {"x":1}
var j = JSON.stringify(i.x);
var k = JSON.stringify(i);
console.log(j);
"1"
console.log(k);
'{"x":1}'
stringify将Javascript对象转换为JSON文本,并将该JSON文本存储在字符串中
将对象转换为字符串
parse将JSON文本字符串转换为Javascript对象
转换是字符串到对象的转换
要使其成为JSON字符串,可以使用以下命令
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
有关更多信息,请参阅下面的链接
要在Node JS中进行调试,可以使用util.inspect。使用循环引用时效果更好
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
现有的JSON替换对我来说太多了,所以我编写了自己的函数。这似乎是可行的,但我可能错过了几个在我的项目中没有出现的边缘案例。并且可能不适用于任何预先存在的对象,仅适用于自制数据 函数simplejsonstringifyobj{ 变量prop,str,val, isArray=阵列的obj实例; 如果对象的类型!==对象 返回false; str=isArray?[:{; 函数引号str{ 如果str的类型!==字符串 str=str.toString; //当实际变量是一个数字时,它返回引号之间的数字 //返回str.match/^\.\$/?str:''+str.replace//g'\\'+''; //现在,我们正在验证是否是一个数字,如果是,我们将删除引号 str=str.match/^\.\$/?str:''+str.replace//g'\\'+''; 如果isNaN str.replace/^[]/,.replace/[]$/, 返回str; 其他的 返回str.replace/^[]/,.replace/[]$/; } 用于obj中的支柱{ 如果!伊萨雷{ //报价属性 str+=引号prop+:; } //报价值 val=对象[prop]; str+=typeof val==object?simpleJSONstringify val:quote val; str+=; } //移除最后一个冒号,关闭支架 str=str.substr 0,str.length-2+isArray?]:}; 返回str; } 将对象转换为字符串的简单语法 是 完整语法为: JSON.stringifyvalue[,replacer[,space]] 让我们看一些简单的例子。请注意,整个字符串 双引号和字符串中的所有数据在 需要 用这个,
var j={"name":"binchen"};
var myJSON = JSON.stringify(j);
只需使用JSON.stringify进行这种转换,但是请记住,具有未定义值的字段不会包含在JSON中
var j={name:binchen,记住:未定义,年龄:null};
var s=JSON.stringifyj;
控制台日志 您可以使用JSON.stringify方法将JSON对象转换为字符串
var j={"name":"binchen"};
JSON.stringify(j)
var j={"name":"hello world"};
JSON.stringify(j);
要将此字符串转换回json对象,可以使用json.parse方法。使用json.stringifyparam1、param2、param3
什么是:-
param1->要转换为JSON的值
param2->函数以您自己的方式进行字符串化。或者,它用作最终JSON中需要包含哪些对象的白名单
param3->数字数据类型,指示要添加的空白的数量。允许的最大值为10。convert str=>obj
const-onePlusStr='[{brand:oneplus},{model:7T}'
const onePLusObj=JSON.parseonePlusStr
convert obj=>str
const oneplusobjtost=JSON.stringifyonePlusStr
JSON解析在JS中的引用: JSON.parse:
JSON.stringify:非常易于使用的方法,但由于可能存在兼容性问题,请勿在发行版中使用它 非常适合您进行测试
Object.prototype.toSource()
//Usage:
obj.toSource();
使用stringify函数
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);
快乐编码 使用JSON.stringify方法:
const stringified=JSON.stringify{}//传递要转换为字符串格式的对象
最流行的方式如下:
var obj={姓名:马丁,年龄:30岁,国家:美国};
//将JS对象转换为JSON字符串
var json=json.stringifyobj;
console.logjson 只需使用JSON.stringifyyour_variableName即可将JSON对象转换为字符串,如果要将字符串转换为对象,请使用JSON.parseyour_variableName下载以获得JSON.stringifyj;在nodejs上工作因为node使用相同的引擎这个答案是在IE9发布前一年发布的,所以在撰写本文时IE8确实是一款现代浏览器,或者至少是最新的IE。JSON.stringify不会转换嵌套对象。如果您需要更可读的json字符串,您可以使用空间参数,如var formattedJSON=json.stringifyj,null,2;OP正试图走另一条路。您的问题回答了相反的情况,即他有一个JSON字符串,并希望将其作为一个对象。。您应该使用JSON.stringfy函数在自定义代码非常不完整的字符串中不转义带有引号的字符串,如:a\。不支持数组、对象和特殊字符。示例:json{arr:[1,2,3],obj:{a:b},key\with\\special}chars:value}将输出{arr:1,2,3,obj:[object object],keywith\special}chars:value}这是错误的!当然,这段代码只是玩代码的一个例子。。我们应该始终使用stringify。。。JS已经为usJSON完成了这项工作。stringify是您正在寻找的方法。您必须第一次学习它。JSON.stringify也是复制对象的一种好方法,更清晰一点:replacer是可选的,因此如果您仍要使用空格arg,请将null作为replacer。如果您对使用此功能进行漂亮打印感兴趣,我发现这个答案也很有用:what is replacer?感谢您添加了反向过程。如果您能提供代码的简短解释,那就太好了。这并没有提供问题的答案。一旦你有足够的钱,你将能够;相反我已经编辑了我的答案,非常感谢你指出拉斐尔和乔尼。你刚刚救了我一天。我无法保存我的对象。有未定义值的字段将不包含在json中的键解决了我的问题!JSON:JSON.parse:JSON.stringify中对JSON解析的引用:
JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* "
{"foo":true,"baz":false}" */
const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1",
"property2":"value2"}"*/
var j={"name":"binchen"};
var myJSON = JSON.stringify(j);
var j={"name":"hello world"};
JSON.stringify(j);
Object.prototype.toSource()
//Usage:
obj.toSource();
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);