JSON.stringify와 JSON.parse의 차이점
저는 이 두 가지 해석 방법을 언제 사용해야 할지 혼란스러웠습니다.
json_encoded 데이터를 에코하고 ajax를 통해 데이터를 가져오면 JSON.stringify와 JSON.parse를 언제 사용해야 하는지 헷갈리는 경우가 많습니다.
[object,object]구문 분석 시 console.log에 저장되며 문자열화 시 JavaScript 개체에 저장됩니다.
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
JSON.stringify하고 해당 "JavaScript " " " JSON " " JSON " " 。하다
var my_object = { key_1: "some text", key_2: true, key_3: 5 };
var object_as_string = JSON.stringify(my_object);
// "{"key_1":"some text","key_2":true,"key_3":5}"
typeof(object_as_string);
// "string"
JSON.parse 개체 JSON "JavaScript "JavaScript ")로 변환합니다.하다
var object_as_string_as_object = JSON.parse(object_as_string);
// {key_1: "some text", key_2: true, key_3: 5}
typeof(object_as_string_as_object);
// "object"
JSON.parse()JSON으로 받은 것을 "파싱"하기 위한 것입니다.
JSON.stringify()오브젝트/어레이에서 JSON 문자열을 작성하는 것입니다.
그들은 서로 정반대이다. JSON.stringify()하는데 반해 JS는 JSON 문자열로 시리얼화 합니다.JSON.parse()JSON은 JSON에 있습니다.
그들은 서로 정반대이다.
JSON.stringify()
JSON.stringify()는 JS 객체 또는 값을 JSON 문자열로 시리얼화합니다.
JSON.stringify({}); // '{}'
JSON.stringify(true); // 'true'
JSON.stringify('foo'); // '"foo"'
JSON.stringify([1, 'false', false]); // '[1,"false",false]'
JSON.stringify({ x: 5 }); // '{"x":5}'
JSON.stringify(new Date(2006, 0, 2, 15, 4, 5))
// '"2006-01-02T15:04:05.000Z"'
JSON.stringify({ x: 5, y: 6 });
// '{"x":5,"y":6}' or '{"y":6,"x":5}'
JSON.stringify([new Number(1), new String('false'), new Boolean(false)]);
// '[1,"false",false]'
JSON.parse()
JSON.parse() 메서드는 문자열을 JSON으로 해석하고 임의로 생성된 값을 변환합니다.
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null
은은 firstlyJSON.stringify()JavaScript JavaScript Object Notation(JSON; JavaScript 객체 표기법)입니다. JSON.parse()JavaScript Object Notation(JSON; JavaScript 객체 표기법).이 두 가지 기능에 대한 자세한 내용은 다음 링크를 참조하십시오.
https://msdn.microsoft.com/library/cc836459(v=vs.94).aspx https://msdn.microsoft.com/library/cc836466(v=vs.94).aspx
둘째, 다음 샘플은 이 두 가지 기능을 이해하는 데 도움이 될 것입니다.
<form id="form1" runat="server">
<div>
<div id="result"></div>
</div>
</form>
<script>
$(function () {
//define a json object
var employee = { "name": "John Johnson", "street": "Oslo West 16", "phone": "555 1234567" };
//use JSON.stringify to convert it to json string
var jsonstring = JSON.stringify(employee);
$("#result").append('<p>json string: ' + jsonstring + '</p>');
//convert json string to json object using JSON.parse function
var jsonobject = JSON.parse(jsonstring);
var info = '<ul><li>Name:' + jsonobject.name + '</li><li>Street:' + jsonobject.street + '</li><li>Phone:' + jsonobject.phone + '</li></ul>';
$("#result").append('<p>json object:</p>');
$("#result").append(info);
});
</script>
var log = { "page": window.location.href,
"item": "item",
"action": "action" };
log = JSON.stringify(log);
console.log(log);
console.log(JSON.parse(log));
//출력:
//첫 번째 콘솔의 경우 다음과 같은 문자열:
'{ "page": window.location.href,"item": "item","action": "action" }'
//두 번째 콘솔의 경우 다음과 같은 객체:
Object {
page : window.location.href,
item : "item",
action : "action" }
JSON.stringify()이치노
JSON.parse()JSON 문자열을 개체로 변환합니다.
스러운 것은 의 데이터 것입니다.data이치노
data매뉴얼에 따라 raw 응답, 즉 문자열 또는 JavaScript 객체 중 하나를 사용할 수 있습니다.
성공.
유형: Function(임의의 데이터, String textStatus, jqXHR jqXHR) 요청이 성공했을 때 호출되는 함수.함수에는 다음 3가지 인수가 전달됩니다.서버에서 반환되는 데이터.지정된 경우 dataType 파라미터 또는 dataFilter 콜백함수에 따라 포맷됩니다.< .>
또한 dataType은 기본적으로 'intelligent guess(Intelligent guess).
data Type(기본값:인텔리전트 추측(xml, json, 스크립트 또는 html)
[Type] : [String]서버에서 반환될 것으로 예상되는 데이터 유형.지정하지 않은 경우 jQuery는 응답의 MIME 유형을 기반으로 추론을 시도합니다(XML MIME 유형은 XML을 생성하고 1.4에서는 JavaScript 개체를 생성하고 1.4에서는 스크립트를 실행하고 다른 모든 항목은 문자열로 반환됩니다).
그들은 서로 정반대이다.
JSON.parse() 는 JSON으로 수신된 데이터를 해석하기 위해 사용됩니다.JSON 문자열을 JavaScript 객체로 역직렬화합니다.
JSON.stringify() 한편, 오브젝트 또는 어레이로부터 JSON 문자열을 작성하기 위해서 사용됩니다.JavaScript 오브젝트를 JSON 문자열로 시리얼화합니다.
언급되었는지 모르겠지만 JSON.parse(JSON.stringify(myObject))의 용도 중 하나는 원래 오브젝트의 클론을 작성하는 것입니다.
이 기능은 원래 개체에 영향을 주지 않고 일부 데이터를 처리할 때 유용합니다.아마도 가장 깔끔하고 빠른 방법은 아니지만 매우 복잡하지 않은 객체에는 확실히 가장 간단한 방법입니다.
JSON.stringify(obj [, replacer [, space]]) JSON 표현입니다.
JSON.parse(string)의 JSON 개체를 JSON은 JavaScript를 사용합니다.
JavaScript 오브젝트 <-> JSON 문자열
JSON.stringify() <-> JSON.parse()
JSON.stringify(obj) - 시리얼 가능한 개체를 가져와 문자열로 JSON 표현을 반환합니다.
JSON.stringify() -> Object To String.
JSON.parse(string) - 올바른 형식의 JSON 문자열을 사용하여 대응하는 JavaScript 개체를 반환합니다.
JSON.parse() -> String To Object.
설명: JSON.stringify (obj [, replacer [, space]);
Replacer/Space - 옵션 또는 정수 값을 취하거나 간섭 유형 반환 함수를 호출할 수 있습니다.
function replacer(key, value) {
if (typeof value === 'number' && !isFinite(value)) {
return String(value);
}
return value;
}
- Replacer Just Use for non finite no를 null로 바꿉니다.
- Json 문자열을 공백으로 들여쓰기 위한 공간 사용
그들은 서로 대립하고 있다. JSON.Stringify()로 변환하고 JSON을 문자열로 변환합니다.JSON.Parse()합니다.
JSON : 주로 서버와의 데이터 교환에 사용됩니다.JSON 개체를 서버로 전송하기 전에 문자열이어야 합니다.
JSON.stringify() //Converts the JSON object into the string representation.
var jsonData={"Name":"ABC","Dept":"Software"};// It is a JSON object
var jsonString=JSON.stringify(jsonData);// It is a string representation of the object
// jsonString === '{"Name":"ABC","Dept":"Software"}'; is true
Javascript 배열도 문자열로 변환합니다.
var arrayObject=["ABC","Software"];// It is array object
var arrString=JSON.stringify(array);// It is string representation of the array (object)
// arrString === '["ABC","Software"]'; is true
서버로부터 JSON 데이터를 수신했을 때, 데이터는 문자열 형식입니다.따라서 문자열을 JSON 개체로 변환합니다.
JSON.parse() //To convert the string into JSON object.
var data='{ "name":"ABC", "Dept":"Software"}'// it is a string (even though it looks like an object)
var JsonData= JSON.parse(data);// It is a JSON Object representation of the string.
// JsonData === { "name":"ABC", "Dept":"Software"}; is true
JSON.parse()String을 개체로 변환하기 위해 사용합니다.
JSON.stringify()오브젝트를 문자열로 변환하기 위해 사용합니다.
이것도 참고하시면...
<script type="text/javascript">
function ajax_get_json(){
var hr = new XMLHttpRequest();
hr.open("GET", "JSON/mylist.json", true);
hr.setRequestHeader("Content-type", "application/json",true);
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
/* var return_data = hr.responseText; */
var data=JSON.parse(hr.responseText);
var status=document.getElementById("status");
status.innerHTML = "";
/* status.innerHTML=data.u1.country; */
for(var obj in data)
{
status.innerHTML+=data[obj].uname+" is in "+data[obj].country+"<br/>";
}
}
}
hr.send(null);
status.innerHTML = "requesting...";
}
</script>
JSON.parse()는 JSON 문자열을 가져와 JavaScript 개체로 변환합니다.
JSON.stringify()는 JavaScript 객체를 JSON 문자열로 변환합니다.
const myObj = {
name: 'bipon',
age: 25,
favoriteFood: 'fish curry'
};
const myObjStr = JSON.stringify(myObj);
console.log(myObjStr);
// "{"name":"bipon","age":26,"favoriteFood":"fish curry"}"
console.log(JSON.parse(myObjStr));
// Object {name:"bipon",age:26,favoriteFood:"fish curry"}
And although the methods are usually used on objects, they can also be used on arrays:
const myArr = ['simon', 'gomez', 'john'];
const myArrStr = JSON.stringify(myArr);
console.log(myArrStr);
// "["simon","gomez","john"]"
console.log(JSON.parse(myArrStr));
// ["simon","gomez","john"]
문자열(JSON 형식으로 작성)을 해석하고 JavaScript 개체를 반환합니다.
var obj = JSON.parse('{"firstName":"John", "lastName":"Doe"}');
JavaScript 개체를 문자열화합니다.
var obj = { "name":"John", "age":30, "city":"New York"};
var myJSON = JSON.stringify(obj);
클라이언트(예를 들어 브라우저가 데이터를 송수신하는 경우)는 문자열을 전송해야 합니다.데이터를 JavaScript 개체로 보낼 수 없습니다.
JavaScript 데이터가 문자열로 클라이언트에 도달하면 클라이언트 측에서 편리하게 처리할 수 있도록 문자열을 개체로 다시 변환해야 합니다.
언급URL : https://stackoverflow.com/questions/17785592/difference-between-json-stringify-and-json-parse
'source' 카테고리의 다른 글
| 각도 UI 부트스트랩 지시어 템플릿이 없습니다. (0) | 2023.02.26 |
|---|---|
| Wordpress의 무한 스크롤과 함께 작동하지 않는 소셜 아이콘 (0) | 2023.02.26 |
| \xc2 문자 또는 코드 스니펫을 피하는 방법 (0) | 2023.02.26 |
| Http 헤더에서의 Json 문자열 사용 (0) | 2023.02.26 |
| springboot 2.3.0(h2 데이터베이스에 연결 중) (0) | 2023.02.26 |