Ответы:
Все текущие браузеры имеют встроенную поддержку JSON. Поэтому, если вы не имеете дело с доисторическими браузерами, такими как IE6 / 7, вы можете сделать это так же легко, как это:
var j = {
"name": "binchen"
};
console.log(JSON.stringify(j));
JSON.stringify(j);
работы
var formattedJSON = JSON.stringify(j, null, 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.
replacer
это необязательно, так что если вы хотите по- прежнему использовать space
ARG вы положили null
на replacer
. Если вы заинтересованы в использовании этой функции для красивой печати, я нашел этот ответ также полезным: stackoverflow.com/a/7220510/857209
Проверьте обновленный / лучший способ Томаса Франка:
Обновление 17 мая 2008: добавлено небольшое дезинфицирующее средство в метод toObject. Теперь toObject () не будет проверять строку (), если обнаружит в ней какой-либо вредоносный код. Для еще большей безопасности: не устанавливайте для флага includeFunctions значение true.
Дуглас Крокфорд, отец концепции JSON, написал один из первых строковых преобразователей для JavaScript. Позже Стив Йен из Trim Path написал хорошую улучшенную версию, которую я использовал в течение некоторого времени. Это мои изменения в версии Стива, которыми я хотел бы поделиться с вами. В основном они проистекают из моего желания сделать стрингер:
- обрабатывать и восстанавливать циклические ссылки
- включить код JavaScript для функций / методов (в качестве опции)
- исключить члены объекта из Object.prototype, если это необходимо.
Вы можете использовать метод JSON.stringify () для преобразования объекта JSON в строку.
var j={"name":"binchen"};
JSON.stringify(j)
Для обратного процесса вы можете использовать метод JSON.parse () для преобразования строки JSON в объект JSON.
JSON.stringify(j, null, 4)
даст вам украшенный JSON в случае, если вам нужно украшение также
Второй параметр - заменитель. Его можно использовать в качестве фильтра, где вы можете отфильтровать определенные значения ключа при строковом преобразовании. Если установлено значение null, он вернет все пары ключ-значение
В угловых
angular.toJson(obj, pretty);
obj: ввод для сериализации в JSON.
pretty (необязательно):
если установлено значение true, вывод JSON будет содержать символы новой строки и пробелы. Если задано целое число, вывод JSON будет содержать столько пробелов на отступ.
(по умолчанию: 2)
Если вы используете AngularJS, фильтр 'json' должен это сделать:
<span>{{someObject | json}}</span>
JSON.stringify
превращает объект Javascript в текст JSON и сохраняет этот текст JSON в строке.
Преобразование объекта в строку
JSON.parse
превращает строку текста JSON в объект Javascript.
Преобразование Строка в Объект
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
Один пользовательский, определенный для этого, пока мы не сделаем странный метод от 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"}
У меня были проблемы с нехваткой памяти 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 выдаст вам строковое представление (как уже упоминалось в этом потоке), за исключением случаев, когда у вас большой объект, это также должно работать - просто убедитесь, что вы собрали его в соответствии со своими потребностями - мне нужно, чтобы оно имело имя, а не массив
Woking ... Простота в использовании
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
Спасибо
вы можете использовать встроенную функцию stringify, как это
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
если вы хотите получить значение свойств 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}'
Для отладки в Node JS вы можете использовать util.inspect () . Лучше работает с циклическими ссылками.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
Существующий 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;
}
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"}"*/
Просто используйте JSON.stringify
для такого преобразования - однако помните, что поля, которые имеют undefined
значение, не будут включены в json
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
Поле remember
«исчезнет» с выхода json
Вы можете использовать метод JSON.stringify () для преобразования объекта JSON в строку.
var j={"name":"hello world"};
JSON.stringify(j);
Чтобы преобразовать эту строку обратно в объект json, вы можете использовать метод JSON.parse ().
использование JSON.stringify(param1, param2, param3);
Что такое: -
param1 -> значение для преобразования в JSON
param2 -> функция для строкового преобразования по-своему. Кроме того, он служит белым списком, для которого объекты должны быть включены в окончательный JSON.
param3 -> Тип данных Number, который указывает количество пробелов для добавления. Максимально допустимое значение 10.
convert str => obj
const onePlusStr = '[{"brand": "oneplus"}, {"model": "7T"}]';
const onePLusObj = JSON.parse (onePlusStr);
конвертировать obj => str
const onePLusObjToStr = JSON.stringify (onePlusStr);
Ссылки на разбор JSON в JS:
JSON.parse (): щелкните
JSON.stringify (): щелкните
Используйте функцию stringify
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);
Удачного кодирования !!!
//use JSON.stringify({})
const stringified = JSON.stringify ({}) // передать объект, который вы хотите преобразовать в строковый формат
если у вас есть строка 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);
JSON.stringify()
это метод, который вы ищете.