Преобразовать объект JS в строку JSON - PullRequest
1140 голосов
/ 12 ноября 2010

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

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

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

'{"name":"binchen"}'

Ответы [ 18 ]

3 голосов
/ 28 ноября 2016

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

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

Спасибо

1 голос
/ 29 ноября 2016

, если вы хотите получить значение свойств 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 голос
/ 14 октября 2016

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

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

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

console.log(jsonString) // {"name":"binchen"}
1 голос
/ 02 октября 2018
So in order to convert a js object to JSON String: 

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

JSON.stringify(value)

Полный синтаксис: JSON.stringify (value [,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"}"*/
1 голос
/ 02 марта 2018

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

var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
1 голос
/ 30 мая 2018

Существующий 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;
}
0 голосов
/ 09 февраля 2019

Если вы ищете JS в JSON онлайн-конвертер с подсветкой синтаксиса.

Javascript to JSON tool

0 голосов
/ 16 ноября 2014

если у вас есть строка 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...