Если я определил объект в JS с помощью:
var j={"name":"binchen"};
Как преобразовать объект в JSON? Строка вывода должна быть:
'{"name":"binchen"}'
У всех современных браузеров встроена встроенная поддержка JSON. До тех пор, пока вы не имеете дело с доисторическими браузерами, такими как IE6/7, вы можете сделать это так же просто:
var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
JSON.stringify(j);
работать
С 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() строка если он обнаруживает какой-либо вредоносный код в it.For еще больше безопасности: не устанавливайте флаг includeFunctions равен true.
Дуглас Крокфорд, отец концепции JSON, написал один из первых строковых инструментов для JavaScript. Позже Стив Йен на Trim Path написал приятную улучшенную версию, которую я использовал в течение некоторого времени. Это мои изменения в версии Стива, которые я хотел бы поделиться с вами. В основном они проистекали из моего желания сделать стробоскоп:
• handle and restore cyclical references • include the JavaScript code for functions/methods (as an option) • exclude object members from Object.prototype if needed.
Вы можете использовать метод JSON.stringify() для преобразования объекта JSON в String.
var j={"name":"binchen"};
JSON.stringify(j)
Для обратного процесса вы можете использовать метод JSON.parse() для преобразования строки JSON в объект JSON.
Json Stringify может преобразовать ваш js-объект в json
var x = {"name" : "name1"};
JSON.stringify(x);
JSON.stringify({"key":"value"});
В угловом JS
angular.toJson(obj, pretty);
OBJ: Вход для сериализации в JSON.
очень (по желанию):
Если установлено значение true, вывод JSON будет содержать символы новой строки и пробелы. Если задано целое число, вывод JSON будет содержать это много пробелов для отступов.
(по умолчанию: 2)
Если вы используете AngularJS, фильтр 'json' должен сделать это:
<span>{{someObject | json}}</span>
JSON.stringify
превращает объект Javascript в текст JSON и сохраняет этот текст JSON в строке.
Преобразование - это Object to String
JSON.parse
превращает строку текста JSON в объект Javascript.
Преобразование - это String to Object
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
JSON.stringify(j,null,4)
предоставит вам украшенный JSON на случай, если вам понадобится украшение.
У меня возникли проблемы с сокращением нехватки памяти, и другие решения, похоже, не работали (по крайней мере, я не мог заставить их работать), когда я наткнулся на эту тему. Благодаря 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 предоставит вам представление строки (как уже упоминалось в этом разделе), кроме случаев, когда у вас большой объект, это также должно работать - просто убедитесь, что вы построили его в соответствии с вашими потребностями - Мне нужно было иметь имя, кроме массива
var someObj = { "name" : "some name" };
var someObjStr = JSON.stringify(someObj);
console.log( someObjStr );
Один кастом, определенный для этого, пока мы не сделаем странный метод от 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"}
const obj = { "name":"xxx", "city":"York"};
const myJSON = JSON.stringify(obj);
console.log(myJSON);
Просто скопируйте и выполните pase
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvertedData = JSON.stringify(formData); // Convert to json
});
Woking... Прост в использовании
$("form").submit(function(evt){
evt.preventDefault();
var formData = $("form").serializeArray(); // Create array of object
var jsonConvert = JSON.stringify(formData); // Convert to json
});
Спасибо
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 заменяет меня слишком много, поэтому я написал свою собственную функцию. Кажется, это работает, но я мог пропустить несколько крайних случаев (которые не встречаются в моем проекте). И, вероятно, не будет работать для каких-либо ранее существующих объектов, только для самодельных данных.
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;
}
определить объект
let obj = {
"firstname" : "Hello",
"lastname" : "javascript"
};
затем преобразуйте его в строку с помощью этого кода
strObj= JSON.stringify(obj);
чтобы убедиться, что консоль получена.
console.log(strObj);
если вы хотите получить значение свойств 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}'
вы можете использовать собственную функцию stringify, подобную этой
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
JSON.strigify()
- лучший JSON.strigify()
для этого.
var x = {
"name" : "name1",
"age" : 20
};
var json = JSON.stringify(x);
console.log(json);
Вы можете использовать функцию JSON.stringify() для этого.
Для отладки в Node JS вы можете использовать util.inspect(). Лучше работает с циклическими ссылками.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
Все, что вам нужно, это добавить этот код ниже var j={"name":"binchen"}; JSON.stringify(j);//'{"name":"binchen"}'
То, что вы хотите, это:
var yourObject = {a : "string", b : 2 };
Json.Stringify(yourObject);
В любом случае, если вы хотите красивую печать, вы должны проверить: Как я могу красиво печатать JSON, используя JavaScript?
Подробнее проверьте это для получения информации о JSON stringify/parse.
если у вас есть 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()
- это метод, который вы ищете.