Как создать строку JSON в JavaScript?
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 );
}
в коде что-то вроде этого, я пытаюсь создать строку JSON, чтобы просто поиграть. Это бросает ошибку, но если я поставлю все имя, возраст, женат на одной линии (линия 2) это не так. А в чем проблема?
8 ответов:
Javascript не обрабатывает строки по нескольким строкам.
вам нужно будет объединить эти:
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);
Я думаю, что этот способ может уменьшить шансы на ошибки.
функция JSON.stringify превратит ваш объект json в строку:
var jsonAsString = JSON.stringify(obj);
в случае, если браузер не реализует его (IE6/IE7), используйте JSON2.js сценарий. Это безопасно, поскольку он использует собственную реализацию, если она существует.
Это может быть довольно легко и просто
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 by Crockford:https://github.com/douglascrockford/JSON-js
строки json не могут иметь разрывы строк в них. Вы должны были бы сделать все это одной строкой:
{"key":"val","key2":"val2",etc....}
.но не создавайте строки JSON самостоятельно. Есть много библиотек, которые делают это для вас, самый большой из которых jquery.