다음을 사용하여 JS에서 객체를 정의한 경우:
var j={"name":"binchen"};
객체를 JSON으로 변환하려면 어떻게 해야 합니까? 출력 문자열은 다음과 같아야 합니다.
'{"name":"binchen"}'
질문자 :Bin Chen
다음을 사용하여 JS에서 객체를 정의한 경우:
var j={"name":"binchen"};
객체를 JSON으로 변환하려면 어떻게 해야 합니까? 출력 문자열은 다음과 같아야 합니다.
'{"name":"binchen"}'
모든 현재 브라우저에는 기본 JSON 지원이 내장되어 있습니다. 따라서 IE6/7과 같은 선사 시대 브라우저를 다루지 않는 한 다음과 같이 쉽게 할 수 있습니다.
var j = { "name": "binchen" }; console.log(JSON.stringify(j));
json2.js에 있는 JSON.stringify()
또는 대부분의 최신 브라우저에서 기본 제공됩니다.
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.
Thomas Frank의 업데이트된/더 나은 방법을 확인하십시오.
2008년 5월 17일 업데이트: toObject-method에 작은 새니타이저가 추가되었습니다. 이제 toObject()는 문자열에서 악성 코드를 찾으면 eval()하지 않습니다. 보안을 더욱 강화하려면 includeFunctions 플래그를 true로 설정하지 마십시오.
JSON 개념의 아버지인 Douglas Crockford는 JavaScript를 위한 최초의 stringifier 중 하나를 작성했습니다. 나중에 Trim Path의 Steve Yen이 내가 한동안 사용했던 멋진 개선된 버전을 작성했습니다. 내가 당신과 공유하고 싶은 스티브 버전에 대한 나의 변경 사항입니다. 기본적으로 그들은 stringifier를 만들고자 하는 내 소망에서 비롯되었습니다.
- 순환 참조 처리 및 복원
- 함수/메서드에 대한 JavaScript 코드 포함(옵션)
- 필요한 경우 Object.prototype에서 개체 멤버를 제외합니다.
JSON.stringify() 메서드를 사용하여 JSON 객체를 String으로 변환할 수 있습니다.
var j={"name":"binchen"}; JSON.stringify(j)
역 프로세스의 경우 JSON.parse() 메서드를 사용하여 JSON 문자열을 JSON 객체로 변환할 수 있습니다.
JSON.stringify(j, null, 4)
는 미화도 필요한 경우에 대비해 미화 JSON을 제공합니다.
두 번째 매개변수는 replacer입니다. 문자열화할 때 특정 키 값을 필터링할 수 있는 필터로 사용할 수 있습니다. null로 설정하면 모든 키 값 쌍을 반환합니다.
angularJS에서
angular.toJson(obj, pretty);
obj: JSON으로 직렬화할 입력입니다.
예쁜(선택):
true로 설정하면 JSON 출력에 줄 바꿈과 공백이 포함됩니다. 정수로 설정하면 JSON 출력에 들여쓰기당 그만큼의 공백이 포함됩니다.
(기본값: 2)
AngularJS를 사용하는 경우 'json' 필터가 이를 수행해야 합니다.
<span>{{someObject | json}}</span>
JSON.stringify
는 Javascript 객체를 JSON 텍스트로 변환하고 해당 JSON 텍스트를 문자열에 저장합니다.
변환은 개체에서 문자열로입니다.
JSON.parse
는 JSON 텍스트 문자열을 Javascript 객체로 변환합니다.
변환은 String에서 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
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는 큰 개체가 있는 경우를 제외하고 (이 스레드에서 다른 시간에 언급한 것처럼) 문자열 표현을 제공합니다. 이 방법도 작동해야 합니다. 필요에 맞게 빌드해야 합니다. 배열보다 이름이 필요했습니다.
워킹 ... 사용하기 쉬운
$("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(ix); 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 (); // When the actual variable was a number, it was returning a number between quotation marks // return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'; // Now, we are verifing if is a number and, if it is, we remove the quotation marks str = str.match (/^\".*\"$/) ? str : '"' + str.replace (/"/g, '\\"') + '"'; if (isNaN (str.replace (/^["]/, '').replace (/["]$/, ''))) return str; else return str.replace (/^["]/, '').replace (/["]$/, ''); } 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);
필드는 출력 json에서 'disappear'를 remember
변환 str => obj
const onePlusStr = '[{"브랜드":"원플러스"},{"모델":"7T"}]';
const onePLusObj = JSON.parse(onePlusStr);
obj => str 변환
const onePLusObjToStr = JSON.stringify(onePlusStr);
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입니다.
매우 사용하기 쉬운 방법이지만 릴리스에서는 사용하지 마십시오(호환성 문제가 있을 수 있으므로).
옆에서 테스트하기에 좋습니다.
Object.prototype.toSource() //Usage: obj.toSource();
stringify 함수 사용
var j = { "name":"binchen" }; var j_json = JSON.stringify(j); console.log("j in json object format :", j_json);
즐거운 코딩!!!
가장 인기 있는 방법은 다음과 같습니다.
var obj = {name: "Martin", age: 30, country: "United States"}; // Converting JS object to JSON string var json = JSON.stringify(obj); console.log(json);
JSON.stringify()
메서드를 사용합니다.
const stringified = JSON.stringify({}) // pass object you want to convert in string format
단순히 JSON.stringify(your_variableName)를 사용하면 JSON 객체를 문자열로 변환하고 문자열을 객체로 변환하려면 JSON.parse(your_variableName)를 사용합니다.
이것을 사용하고,
var j={"name":"binchen"}; var myJSON = JSON.stringify(j);
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);
출처 : http:www.stackoverflow.com/questions/4162749/convert-js-object-to-json-string
Pandas DataFrame의 행 수는 어떻게 얻습니까? (0) | 2023.04.13 |
---|---|
비동기 대 동기 실행, 주요 차이점은 무엇입니까? [닫은] (0) | 2023.04.13 |
클래스 이름 지정 - 모든 것을 호출하는 것을 피하는 방법 "<WhatEver> 매니저"? [닫은] (0) | 2023.04.09 |
Node.js의 Express.js에서 GET(쿼리 문자열) 변수를 얻는 방법은 무엇입니까? (0) | 2023.04.09 |
중복 행을 제거하려면 어떻게 해야 합니까? (0) | 2023.04.09 |