Как создать строку 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), это не так. В чем проблема?
Ответы
Ответ 1
Javascript не обрабатывает строки над несколькими строками.
Вам нужно будет объединить их:
var obj = '{'
+'"name" : "Raj",'
+'"age" : 32,'
+'"married" : false'
+'}';
Вы также можете использовать литералы шаблонов в ES6 и выше: (См. здесь документацию)
var obj = `{
"name" : "Raj",
"age" : 32,
"married" : false,
}`;
Ответ 2
Как я это делаю:
var obj = new Object();
obj.name = "Raj";
obj.age = 32;
obj.married = false;
var jsonString= JSON.stringify(obj);
Я предполагаю, что этот способ может уменьшить вероятность ошибок.
Ответ 3
Функция JSON.stringify превратит ваш json-объект в строку:
var jsonAsString = JSON.stringify(obj);
Если браузер не реализует его (IE6/IE7), используйте JSON2.js script. Это безопасно, поскольку он использует встроенную реализацию, если она существует.
Ответ 4
Используйте JSON.stringify
:
> JSON.stringify({ asd: 'bla' });
'{"asd":"bla"}'
Ответ 5
Это может быть довольно легко и просто
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.
Ответ 6
Я думаю, этот способ поможет вам...
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);
Ответ 7
Существует официальная реализация JSON http://www.json.org/js.html от Crockford: https://github.com/douglascrockford/JSON-js
Ответ 8
json строки не могут иметь разрывов строк в них. Вы должны сделать все в одной строке: {"key":"val","key2":"val2",etc....}
.
Но не создавайте строки JSON самостоятельно. Там много библиотек, которые делают это для вас, самым большим из которых является jquery.