如何在JavaScript中创buildJSONstring?

window.onload = function(){ var obj = '{ "name" : "Raj", "age" : 32, "married" : false }'; var val = eval('(' + obj + ')'); alert( "name : " + val.name + "\n" + "age : " + val.age + "\n" + "married : " + val.married ); } 

在这样的代码中,我试图创buildJSONstring来玩。 这是抛出错误,但如果我把所有的名字,年龄,结婚在一个单一的行(第2行)它没有。 有什么问题?

Javascript不处理多行的string。

您将需要连接这些:

 var obj = '{' +'"name" : "Raj",' +'"age" : 32,' +'"married" : false' +'}'; 

您也可以在ES6及更高版本中使用模板文字( 请参阅此处以获取文档 )

 var obj = `{ "name" : "Raj", "age" : 32, "married" : false, }`; 

我这样做的方式是:

  var obj = new Object(); obj.name = "Raj"; obj.age = 32; obj.married = false; var jsonString= JSON.stringify(obj); 

我想这样可以减less错误的机会。

函数JSON.stringify将把你的json对象变成一个string:

 var jsonAsString = JSON.stringify(obj); 

如果浏览器没有实现它(IE6 / IE7),请使用JSON2.js脚本。 它是安全的,因为它使用本地实现,如果它存在。

使用JSON.stringify

 > JSON.stringify({ asd: 'bla' }); '{"asd":"bla"}' 

这可以非常简单

 var obj = new Object(); obj.name = "Raj"; obj.age = 32; obj.married = false; //convert object to json string var string = JSON.stringify(obj); //convert string to Json Object console.log(JSON.parse(string)); // this is your requirement. 

我认为这样可以帮助你

 var name=[]; var age=[]; name.push('sulfikar'); age.push('24'); var ent={}; for(var i=0;i<name.length;i++) { ent.name=name[i]; ent.age=age[i]; } JSON.Stringify(ent); 

有一个“官方”的JSON实现http://www.json.org/js.html Crockford: https : //github.com/douglascrockford/JSON-js

jsonstring不能有换行符。 你必须把所有的行都{"key":"val","key2":"val2",etc....}{"key":"val","key2":"val2",etc....}

但是不要自己生成JSONstring。 有很多的库为你做,其中最大的是jQuery 。