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

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

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

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

'{"name":"binchen"}'

Ответ 1

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

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

Ответ 2

С 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.

Ответ 3

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

Обновление 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.

Ответ 4

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

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

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

Ответ 5

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

 var x = {"name" : "name1"};
 JSON.stringify(x);

Ответ 6

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

Ответ 7

В угловом JS

angular.toJson(obj, pretty);

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

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

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

Ответ 8

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

<span>{{someObject | json}}</span>

Ответ 9

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

Второй параметр - заменитель. Его можно использовать в качестве фильтра, где вы можете отфильтровать определенные значения ключа при строковом преобразовании. Если установлено значение null, он вернет все пары ключ-значение

Ответ 10

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

Ответ 11

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

ВЫХОД

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

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

Ответ 12

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

Ответ 13

var someObj = { "name" : "some name" };
var someObjStr = JSON.stringify(someObj);
console.log( someObjStr  );

Ответ 14

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

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

Спасибо

Ответ 15

const obj = { "name":"xxx", "city":"York"};
const myJSON = JSON.stringify(obj);
  console.log(myJSON);

Ответ 16

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

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

Ответ 17

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

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

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

console.log(jsonString) // {"name":"binchen"}

Ответ 18

если вы хотите получить значение свойств 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}'

Ответ 19

Для отладки в Node JS вы можете использовать util.inspect(). Лучше работает с циклическими ссылками.

var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));

Ответ 20

Существующий JSON заменяет меня слишком много, поэтому я написал свою собственную функцию. Кажется, это работает, но я мог пропустить несколько крайних случаев (которые не встречаются в моем проекте). И, вероятно, не будет работать для каких-либо ранее существующих объектов, только для самодельных данных.

function simpleJSONstringify(obj) {
    var prop, str, val,
        isArray = obj instanceof Array;

    if (typeof obj !== "object") return false;

    str = isArray ? "[" : "{";

    function quote(str) {
        if (typeof str !== "string") str = str.toString();
        return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'
    }

    for (prop in obj) {
        if (!isArray) {
            // quote property
            str += quote(prop) + ": ";
        }

        // quote value
        val = obj[prop];
        str += typeof val === "object" ? simpleJSONstringify(val) : quote(val);
        str += ", ";
    }

    // Remove last colon, close bracket
    str = str.substr(0, str.length - 2)  + ( isArray ? "]" : "}" );

    return str;
}

Ответ 21

So in order to convert a js object to JSON String: 

Простой синтаксис для преобразования объекта в строку

JSON.stringify(value)

Полный синтаксис: JSON.stringify (значение [, replacer [, пробел]])

Давайте посмотрим несколько простых примеров. Обратите внимание, что вся строка получает двойные кавычки и все данные в строке экранируются при необходимости.

JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* " 
{"foo":true,"baz":false}" */



const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1", 
"property2":"value2"}"*/

Ответ 22

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

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

};

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

strObj= JSON.stringify(obj);

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

console.log(strObj);

Ответ 23

Все, что вам нужно, это добавить этот код ниже
var j={"name":"binchen"}; JSON.stringify(j);//'{"name":"binchen"}'

Ответ 24

Вы можете использовать функцию JSON.stringify() для этого.

Ответ 25

JSON.strigify() - лучший JSON.strigify() для этого.

var x = {
    "name" : "name1",
    "age"    : 20
};
var json = JSON.stringify(x);
console.log(json);

Ответ 26

var j={"name":"binchen"};
var x= json.stirngify(j);

это преобразует объект JSON в Stingified Object

для одностороннего связывания вы можете сделать это в HTML

<span>{{j|json}}</span>

Ответ 27

Вы можете использовать JSON.stringify(j), который преобразует файл JSON в строку.

Ответ 28

Вы можете использовать Json Stringify [ JSON.stringify() ] для преобразования вашего объекта js в json

var name = {"name":"John"};

 JSON.stringify(name); // '{"name":"John"}'

Ответ 29

да, JSON.stringify делает свое дело. Вы также можете сделать:

var x = {"firstname" : "john", "lastname" : "doe"};
x = String(x);
//or...
x = x.toString();

Ответ 30

Просто используйте JSON.stringify для такого преобразования - однако помните, что поля со значением undefined не будут включены в json

var j={"name":"binchen", "remember":undefined, "age": null };

var s=JSON.stringify(j);

console.log(s);