jquery json to string?

Вместо того, чтобы идти от строки json и использовать $ .parseJSON, мне нужно взять мой объект и сохранить его в переменной как строку, представляющую json.

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

Какой лучший способ сделать это?

79
задан Steven Palinkas 28 November 2014 в 11:13
поделиться

2 ответа

Изменить: Вы должны используйте библиотеку json2.js от Дугласа Крокфорда вместо реализации приведенного ниже кода. Он предоставляет некоторые дополнительные функции и лучшую/старую поддержку браузера.

Загрузите файл json2.js с: https://github.com/douglascrockford/JSON-js


// implement JSON.stringify serialization
JSON.stringify = JSON.stringify || function (obj) {
    var t = typeof (obj);
    if (t != "object" || obj === null) {
        // simple data type
        if (t == "string") obj = '"'+obj+'"';
        return String(obj);
    }
    else {
        // recurse array or object
        var n, v, json = [], arr = (obj && obj.constructor == Array);
        for (n in obj) {
            v = obj[n]; t = typeof(v);
            if (t == "string") v = '"'+v+'"';
            else if (t == "object" && v !== null) v = JSON.stringify(v);
            json.push((arr ? "" : '"' + n + '":') + String(v));
        }
        return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
    }
};

var tmp = {one: 1, two: "2"};
JSON.stringify(tmp); // '{"one":1,"two":"2"}'

Код с: http://www.sitepoint.com/blogs/2009/ 19/08/javascript-json-serialization/

84
ответ дан 24 November 2019 в 10:11
поделиться

Вы можете преобразовать JSON в объект, а затем создать искаженный JSON из объекта ajavscript. Это может быть не лучшая производительность, хотя.

В противном случае, если вам нужно внести очень небольшие изменения в строку, просто обработайте ее как строку и измените ее с помощью стандартного javascript.

0
ответ дан 24 November 2019 в 10:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: