it-swarm.com.ru

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

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

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

Как я могу преобразовать объект в JSON? Выходная строка должна быть:

'{"name":"binchen"}'
1091
Bin Chen

Все текущие браузеры имеют встроенную поддержку JSON. Поэтому, если вы не имеете дело с доисторическими браузерами, такими как IE6/7, вы можете сделать это так же легко, как это:

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

С 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.
96
Ignacio Vazquez-Abrams

Проверьте обновленный/лучший способ:

Обновление 17 мая 2008 года: небольшое дезинфицирующее средство добавлен в метод toObject. Сейчас toObject () не будет оценивать () строку если он находит какой-либо вредоносный код в это. Для еще большей безопасности: не устанавливайте флаг includeFunctions имеет значение true.

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

• handle and restore cyclical references  
• include the JavaScript code for functions/methods (as an option)  
• exclude object members from Object.prototype if needed.
26
Sarfraz

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

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

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

17
Aravind Sachin

Json Stringify может конвертировать ваш объект js в json

 var x = {"name" : "name1"};
 JSON.stringify(x);
14
Aatif Bandey
JSON.stringify({"key":"value"});
10
Om Prakash

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

<span>{{someObject | json}}</span>
8
Ariel Cabib

В угловых 

angular.toJson(obj, pretty);

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

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

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

8
Nazrul Islam

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

Преобразование представляет собой Object в String

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

Преобразование представляет собой String to Object

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

чтобы сделать это JSON String можно использовать следующее.

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

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

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

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

7
Dulith De Costa

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

7
Vignesh Murugan

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

LIVEhttp://jsfiddle.net/mailmerohit5/y78zum6v/

5
Rohit Kumar

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

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

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

4
Arvind Audacious

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

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

Спасибо

3
Subroto Biswas

Просто скопируйте и вставьте

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

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

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

};

затем преобразовать его в строку, используя этот код

strObj= JSON.stringify(obj);

чтобы убедиться, что результат утешителен 

console.log(strObj);
1
nada diaa
So in order to convert a js object to JSON String: 

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

JSON.stringify(value)

Полный синтаксис: JSON.stringify (value [ replacer [ space]])

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

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"}"*/
1
Rahul Choudhary

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

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

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;
}
1
Hauke

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

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

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

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

1
Alongkorn Chetasumon

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

0
MH-Li

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

0
ubastosir

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

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

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

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

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

0
Vignesh

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

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

JSON.strigify() - лучшая практика для этого.

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