Преобразование объекта JS в строку JSON

Если я определил объект в JS с помощью:

var j={"name":"binchen"};

Как преобразовать объект в JSON? Строка вывода должна быть:

'{"name":"binchen"}'
860
задан Bin Chen 12 нояб. '10 в 11:20
источник поделиться
20 ответов

У всех современных браузеров встроена встроенная поддержка JSON. До тех пор, пока вы не имеете дело с доисторическими браузерами, такими как IE6/7, вы можете сделать это так же просто:

var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
1392
ответ дан Andris 12 нояб. '10 в 11:31
источник поделиться

С JSON.stringify() найдено в json2.js или является родным в большинстве современных браузеров.

   JSON.stringify(value, replacer, space)
        value       any JavaScript value, usually an object or array.

       replacer    an optional parameter that determines how object
                    values are stringified for objects. It can be a
                    function or an array of strings.

       space       an optional parameter that specifies the indentation
                    of nested structures. If it is omitted, the text will
                    be packed without extra whitespace. If it is a number,
                    it will specify the number of spaces to indent at each
                    level. If it is a string (such as '\t' or ' '),
                    it contains the characters used to indent at each level.

       This method produces a JSON text from a JavaScript value.
83
ответ дан Ignacio Vazquez-Abrams 12 нояб. '10 в 11:22
источник поделиться

Ознакомьтесь с обновленным/лучшим способом:

Обновление 17 мая 2008 г.: Малый дезинфицирующее средство добавлен в метод toObject. Теперь toObject() не будет eval() строка если он обнаруживает какой-либо вредоносный код в it.For еще больше безопасности: не устанавливайте флаг includeFunctions равен true.

Дуглас Крокфорд, отец концепции JSON, написал один из первых строковых инструментов для JavaScript. Позже Стив Йен на Trim Path написал приятную улучшенную версию, которую я использовал в течение некоторого времени. Это мои изменения в версии Стива, которые я хотел бы поделиться с вами. В основном они проистекали из моего желания сделать стробоскоп:

• handle and restore cyclical references  
• include the JavaScript code for functions/methods (as an option)  
• exclude object members from Object.prototype if needed.
23
ответ дан Sarfraz 12 нояб. '10 в 11:26
источник поделиться

Вы можете использовать метод JSON.stringify() для преобразования объекта JSON в String.

var j={"name":"binchen"};
JSON.stringify(j)

Для обратного процесса вы можете использовать метод JSON.parse() для преобразования строки JSON в объект JSON.

12
ответ дан Aravind Sachin 20 нояб. '15 в 13:05
источник поделиться

Json Stringify может преобразовать ваш js-объект в json

 var x = {"name" : "name1"};
 JSON.stringify(x);
11
ответ дан Aatif Bandey 03 нояб. '15 в 14:44
источник поделиться
JSON.stringify({"key":"value"});
8
ответ дан Om Prakash 25 июня '15 в 16:25
источник поделиться

Если вы используете AngularJS, фильтр 'json' должен сделать это:

<span>{{someObject | json}}</span>
8
ответ дан Ariel Cabib 11 сент. '15 в 8:38
источник поделиться

В угловом JS

angular.toJson(obj, pretty);

OBJ: Вход для сериализации в JSON.

очень (по желанию):
Если установлено значение true, вывод JSON будет содержать символы новой строки и пробелы. Если задано целое число, вывод JSON будет содержать это много пробелов для отступов.

(по умолчанию: 2)

7
ответ дан Nazrul Islam 08 мая '16 в 11:13
источник поделиться

JSON.stringify превращает объект Javascript в текст JSON и сохраняет этот текст JSON в строке.

Преобразование - это Object to String

JSON.parse превращает строку текста JSON в объект Javascript.

Преобразование - это String to Object

var j={"name":"binchen"};

чтобы сделать возможным использование строки JSON.

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

Для получения дополнительной информации вы можете обратиться к этой ссылке ниже.

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

5
ответ дан Dulith De Cozta 13 февр. '17 в 16:15
источник поделиться
var someObj = { "name" : "some name" };
var someObjStr = JSON.stringify(someObj);
console.log( someObjStr  );
4
ответ дан Tyler Durden 29 июня '16 в 10:36
источник поделиться

JSON.stringify(j,null,4) предоставит вам украшенный JSON на случай, если вам понадобится украшение.

4
ответ дан Vignesh Murugan 15 нояб. '16 в 17:21
источник поделиться

У меня возникли проблемы с сокращением нехватки памяти, и другие решения, похоже, не работали (по крайней мере, я не мог заставить их работать), когда я наткнулся на эту тему. Благодаря Rohit Kumar Я просто перебираю через свой очень большой объект 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 предоставит вам представление строки (как уже упоминалось в этом разделе), кроме случаев, когда у вас большой объект, это также должно работать - просто убедитесь, что вы построили его в соответствии с вашими потребностями - Мне нужно было иметь имя, кроме массива

4
ответ дан Sam 13 сент. '16 в 19:53
источник поделиться

Один пользовательский определенный для этого, пока мы не странно из метода 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);

OUTPUT

{"name":"binchen","class":"awesome"}

LIVE http://jsfiddle.net/mailmerohit5/y78zum6v/

3
ответ дан Rohit Kumar 12 окт. '15 в 12:57
источник поделиться

Просто скопируйте и выполните pase

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvertedData = JSON.stringify(formData);  // Convert to json
});
2
ответ дан Subroto Biswas 28 нояб. '16 в 6:42
источник поделиться

const obj = { "name":"xxx", "city":"York"};
const myJSON = JSON.stringify(obj);
  console.log(myJSON);
2
ответ дан Arvind Audacious 23 мая '17 в 15:54
источник поделиться

Woking... Прост в использовании

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvert = JSON.stringify(formData);  // Convert to json
});

Спасибо

2
ответ дан Subroto Biswas 28 нояб. '16 в 6:39
источник поделиться

если вы хотите получить значение свойств 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}'
1
ответ дан KARTHIKEYAN.A 29 нояб. '16 в 18:10
источник поделиться

вы можете использовать собственную функцию stringify, подобную этой

const j={ "name": "binchen" }

/** convert json to string */
const jsonString = JSON.stringify(j)

console.log(jsonString) // {"name":"binchen"}
1
ответ дан Alongkorn Chetasumon 14 окт. '16 в 13:37
источник поделиться

определить объект

let obj = {
"firstname" : "Hello",
"lastname" : "javascript"

};

затем преобразуйте его в строку с помощью этого кода

strObj= JSON.stringify(obj);

чтобы убедиться, что консоль получена.

console.log(strObj);
0
ответ дан nada diaa 28 окт. '17 в 3:08
источник поделиться

если у вас есть json-строка, и она не завернута в [], а затем заверните сначала

var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);

ИЛИ

var jsonobj = eval('(' + str + ')');
console.log(jsonobj);
-17
ответ дан Bhaumik Mehta 16 нояб. '14 в 9:13
источник поделиться

Другие вопросы по меткам