Подтвердить что ты не робот

Как создать строку 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), это не так. В чем проблема?

4b9b3361

Ответ 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);

Ответ 8

json строки не могут иметь разрывов строк в них. Вы должны сделать все в одной строке: {"key":"val","key2":"val2",etc....}.

Но не создавайте строки JSON самостоятельно. Там много библиотек, которые делают это для вас, самым большим из которых является jquery.