Відповіді:
Усі поточні веб-переглядачі мають вбудовану підтримку 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 () не буде eval () рядком, якщо він знайде в ньому якийсь шкідливий код. Для ще більшої безпеки: не встановлюйте прапор includeFunctions на значення true.
Дуглас Крокфорд, батько концепції JSON, написав один з перших стриптифікаторів для JavaScript. Пізніше Стів Йен на Trim Path написав хорошу вдосконалену версію, якою я користувався певний час. Я хотів би поділитися з вами змінами у версії Стіва. В основному вони випливали з мого бажання зробити стрифікатор:
- обробляти та відновлювати циклічні посилання
- включіть код JavaScript для функцій / методів (як опція)
- виключити членів об’єкта з Object.prototype, якщо потрібно.
Ви можете використовувати метод JSON.stringify () для перетворення об'єкта JSON в String.
var j={"name":"binchen"};
JSON.stringify(j)
Для зворотного процесу ви можете використовувати метод JSON.parse () для перетворення струни JSON в об'єкт JSON.
У кутовій JS
angular.toJson(obj, pretty);
obj: Вхід для серіалізації в JSON.
досить (необов’язково):
Якщо встановлено значення true, вихід JSON буде містити нові рядки та пробіли. Якщо встановлено ціле число, вихід JSON буде містити стільки пробілів на відступ.
(за замовчуванням: 2)
JSON.stringify(j, null, 4)
подарував би вам прикрашений JSON у випадку, якщо вам також потрібно прикрасити
Другий параметр - замінювач. Він може використовуватися як Filter, де ви можете відфільтрувати певні ключові значення при строфікації. Якщо встановлено значення null, воно поверне всі пари ключових значень
Якщо ви використовуєте AngularJS, фільтр 'json' повинен зробити це:
<span>{{someObject | json}}</span>
JSON.stringify
перетворює об'єкт Javascript у текст JSON і зберігає цей текст JSON у рядку.
Перетворення - це об'єкт для рядка
JSON.parse
перетворює рядок тексту JSON в об'єкт Javascript.
Перетворення - це рядок до об'єкта
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
Один призначений для цього звичай, поки ми не зробимо дивний метод 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"}
У мене виникли проблеми зі строгим вичерпанням пам’яті та інші рішення, схоже, не спрацювали (принаймні, я не міг змусити їх працювати), які виникають, коли я натрапив на цю нитку. Завдяки Рохіту Кумару я просто повторюю свій дуже великий об’єкт 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 дасть вам ваше представлення рядків (як це було зазначено в інших випадках у цій темі), за винятком випадків, коли у вас є великий об'єкт, це також має працювати - просто переконайтеся, що ви побудували його відповідно до ваших потреб - мені потрібно було, щоб він мав ім'я, ніж масив
Пробудження ... Простота у використанні
$("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 (значення [, замінник [, пробіл]])
Розглянемо кілька простих прикладів. Зауважте, що весь рядок отримує подвійні лапки, і всі дані в рядку отримують уникнути необхідності.
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 в String.
var j={"name":"hello world"};
JSON.stringify(j);
Щоб перетворити цю рядок назад в об’єкт json, ви можете використовувати метод JSON.parse ().
використання JSON.stringify(param1, param2, param3);
Що: -
param1 -> значення для перетворення в JSON
param2 -> функція для того, щоб поширити по-своєму. Крім того, він служить білим списком, для якого об’єкти потрібно включити до остаточного JSON.
param3 -> Тип даних про номер, який вказує кількість пробілів, які потрібно додати. Максимум дозволено - 10.
convert str => obj
const onePlusStr = '[{"бренд": "oneplus"}, {"модель": "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()
метод, який ви шукаєте.