답변:
모든 현재 브라우저에는 기본 JSON 지원 기능이 내장되어 있습니다. IE6 / 7과 같은 선사 시대 브라우저를 다루지 않는 한 다음과 같이 쉽게 수행 할 수 있습니다.
var j = {
"name": "binchen"
};
console.log(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
당신이 넣어 인수 null
에 대한을 replacer
. 예쁘게 인쇄하기 위해이 기능을 사용하는 데 관심이 있다면이 답변도 유용하다는 것을 알았습니다. stackoverflow.com/a/7220510/857209
Thomas Frank가 업데이트 / 더 나은 방법을 확인하십시오.
2008 년 5 월 17 일 업데이트 : 소형 살균제가 toObject-method에 추가되었습니다. toObject ()는 악성 코드가 발견되면 문자열을 eval ()하지 않습니다.
JSON 개념의 아버지 인 Douglas Crockford는 JavaScript를위한 첫 번째 stringifier 중 하나를 작성했습니다. 나중에 Trim Path의 Steve Yen은 한동안 사용했던 멋진 개선 된 버전을 작성했습니다. 여러분과 공유하고 싶은 Steve 버전이 변경되었습니다. 기본적으로 그들은 stringifier를 만들고 싶다는 소망에서 비롯되었습니다.
- 주기적 참조 처리 및 복원
- 함수 / 메소드에 대한 JavaScript 코드 포함 (옵션)
- 필요한 경우 Object.prototype에서 객체 멤버를 제외합니다.
JSON.stringify () 메서드를 사용 하여 JSON 객체를 String으로 변환 할 수 있습니다 .
var j={"name":"binchen"};
JSON.stringify(j)
역 프로세스의 경우 JSON.parse () 메서드를 사용 하여 JSON 문자열을 JSON 객체로 변환 할 수 있습니다 .
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"}
나는 메모리 부족 문자열 화에 문제가 있었고 다른 솔루션이 작동하지 않는 것 같습니다 (적어도 작동시키지 못했습니다).이 스레드에서 우연히 발견되었습니다. 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 당신이 큰 개체가있는 경우를 제외하고 당신에게 (이 스레드에서 다른 시간을 언급 한대로) 당신의 문자열 representaion을 줄 것이다, 이것은 또한 작업을해야한다 - 단지 당신이 당신의 요구에 맞게 그것을 구축하기 - 나는 배열보다 이름이 그것을 필요
워킹 ... 사용하기 쉬움
$("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}'
기존 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 (value [, replacer [, space]])
간단한 예를 보자. 전체 문자열은 큰 따옴표를 가져오고 필요한 경우 문자열의 모든 데이터가 이스케이프됩니다.
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 () 메서드를 사용할 수 있습니다.
str => obj로 변환
const onePlusStr = '[{ "brand": "oneplus"}, { "model": "7T"}]';
const onePLusObj = JSON.parse (onePlusStr);
obj 변환 => str
const onePLusObjToStr = JSON.stringify (onePlusStr);
JS의 JSON 구문 분석 참조 :
JSON.parse () : click
JSON.stringify () : click
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()
찾고있는 방법입니다.