JSON의 용도와 용도는 무엇입니까?
Wikipedia를 검색해서 구글로 검색해서 공식 문서를 읽어봤는데 JSON이 뭔지, 왜 사용하는지 아직 잘 모르겠어요.
저는 PHP, MySQL, JavaScript/HTML을 사용하여 애플리케이션을 구축해 왔습니다만, JSON이 제 생활을 보다 쉽게 하거나 코드를 개선하거나 사용자 인터페이스를 개선하거나 할 수 있다면 알고 싶습니다.누가 간결하게 설명해 줄 수 있어요?
JSON(JavaScript Object Notation)은 데이터 교환에 사용되는 경량 형식입니다.이것은 JavaScript 언어의 서브셋(JavaScript에서 객체를 빌드하는 방법)에 기초하고 있습니다.MDN에서 설명한 바와 같이 일부 JavaScript는 JSON이 아니며 일부 JSON은 JavaScript가 아닙니다.
예를 들어 웹 서비스 응답이 사용됩니다.옛날에는 웹 서비스가 XML을 데이터 백업 전송에 사용하는 주요 데이터 형식이었지만, JSON이 등장한 이후(JSON 형식은 Douglas Crockford에 의해 RFC 4627에 규정되어 있음), 훨씬 더 가볍기 때문에 이 형식이 선호되고 있습니다.
JSON 공식 사이트에서 더 많은 정보를 찾을 수 있습니다.
JSON은 다음 두 가지 구조를 기반으로 구축됩니다.
- 이름/값 쌍의 집합입니다.다양한 언어에서 이는 객체, 레코드, 구조, 사전, 해시 테이블, 키 목록 또는 연관 배열로 실현됩니다.
- 값의 순서부 리스트.대부분의 언어에서 이것은 배열, 벡터, 목록 또는 시퀀스로 실현됩니다.
JSON 구조
다음은 JSON 데이터의 예입니다.
{
"firstName": "John",
"lastName": "Smith",
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
"212 555-1234",
"646 555-4567"
]
}
자바스크립트의 JSON
JSON(Javascript)은 문자열입니다!
모든 Javascript 객체가 JSON이고 JSON이 Javascript 객체라고 생각하는 경우가 많습니다.틀렸습니다.
Javascript ★★var x = {x:y}
JSON이 아니라 Javascript 객체입니다.그 둘은 같은 것이 아니다.JSON 등가물(Javascript 언어로 표시됨)은 다음과 같습니다.var x = '{"x":"y"}'
x
string 타입의 오브젝트이며, 그 자체의 권리 오브젝트가 아닙니다.이것을 완전한 Javascript 오브젝트로 만들려면 먼저 해석해야 합니다.var x = JSON.parse('{"x":"y"}');
,x
JSON을 사용하다
및 JavaScript를 JSON "JavaScript"를 해야 할 수 .eval
콜백으로 반환된 결과를 평가하는 함수는 권장되지 않습니다.JSON에서는 유효하지만 JavaScript에서는 유효하지 않기 때문입니다(자세한 내용은 여기를 참조).
따라서 유효한 JSON을 체크하는 Crockford의 스크립트를 항상 사용하여 평가해야 합니다.스크립트 설명에 대한 링크는 여기에 있으며 js 파일에 대한 직접 링크는 여기에 있습니다.오늘날 모든 주요 브라우저에는 이를 위한 자체 구현이 있습니다.
JSON 파서를 사용하는 방법의 예(위의 코드 스니펫의 json과 함께):
//The callback function that will be executed once data is received from the server
var callback = function (result) {
var johnny = JSON.parse(result);
//Now, the variable 'johnny' is an object that contains all of the properties
//from the above code snippet (the json example)
alert(johnny.firstName + ' ' + johnny.lastName); //Will alert 'John Smith'
};
JSON 는 매우 방법인 JSON 파서를 합니다.stringify
이 메서드는 JavaScript 객체를 파라미터로 받아들여 JSON 형식의 문자열을 출력합니다.이것은, 데이터를 서버로 되돌리는 경우에 편리합니다.
var anObject = {name: "Andreas", surname : "Grech", age : 20};
var jsonFormat = JSON.stringify(anObject);
//The above method will output this: {"name":"Andreas","surname":"Grech","age":20}
방법2」)parse
★★★★★★★★★★★★★★★★★」stringify
)는 두 번째 파라미터도 취합니다.이것은 최종 결과의 모든 레벨에서 모든 키와 값에 대해 호출되는 함수입니다.각 값은 입력된 함수의 결과로 대체됩니다.(자세한 내용은 이쪽)
참고로 JSON이 JavaScript 전용이라고 생각하는 여러분들을 위해 이 게시물을 확인해 보세요.
레퍼런스
- JSON.org
- 위키백과
- 3분 후 Json (고마워 mson)
- 야후에서 JSON 사용! 웹 서비스(감사합니다 gljivar)
- JSON-CSV 컨버터
- 대체 JSON-CSV 변환기
- JSON 린트(JSON 검증기)
개념 설명 - 코드 또는 기술 용어 없음
JSON이 뭐죠?– 아내에게TM 설명하는 방법
저: "이것은 기본적으로 누군가와 글로 소통하는 방법입니다.아주 구체적인 규칙을 가지고 있습니다.
아내: 네...?
나: 평범한 영어로 말하면, 규칙이 꽤 느슨해. 마치 철창 싸움처럼.JSON은 그렇지 않습니다.무엇인가를 설명하는 방법에는 여러 가지가 있습니다.
• 예 1: 저희 가족은 4명입니다.너, 나, 그리고 두 아이.
• 예 2: 우리 가족: 너, 나, kid1, kid2.
• 예 3: 가족: [너, 나, kid1, kid2]
• 예 4: 저희 가족은 엄마, 아빠, kid1, kid2 이렇게 4명입니다.
아내: 왜 그냥 평범한 영어를 쓰지 않는 거죠?
나: 그럴 거야, 하지만 우리가 컴퓨터를 다루고 있다는 걸 명심해.컴퓨터는 멍청하고 문장을 이해할 수 없을 것이다.따라서 컴퓨터가 관련되어 있을 때 매우 구체적으로 설명해야 합니다.그렇지 않으면 컴퓨터가 혼란스러워집니다.게다가 JSON은 매우 효율적인 커뮤니케이션 수단이기 때문에, 관계없는 것은 대부분 잘라내 버리기 때문에, 꽤 손이 많이 갑니다.만약 당신이 우리 가족과 컴퓨터로 소통하고 싶다면, 당신이 할 수 있는 한 가지 방법은 다음과 같습니다.
{
"Family": ["Me", "Wife", "Kid1", "Kid2"]
}
……그것은 기본적으로 JSON입니다.그러나 JSON 문법 규칙을 반드시 준수해야 한다는 것을 기억하십시오.이러한 규칙을 어기면 컴퓨터는 단순히 당신이 쓰고 있는 내용을 이해하지 못합니다(파싱).
아내: 그럼 Json으로 어떻게 쓰죠?
좋은 방법은 무거운 짐을 들어주는 라이브러리인 json 시리얼라이저를 사용하는 것입니다.
요약
JSON은 기본적으로 매우 구체적인 규칙을 사용하여 누군가에게 데이터를 전달하는 방법입니다. 키 밸류 페어 및 어레이 사용.이 개념은 설명되었으며, 이 시점에서는 위의 특정 규칙을 읽을 가치가 있습니다.
한마디로 JSON은 JavaScript 코드가 되는 시리얼화 방법입니다.실행 시(eval 또는 기타 사용 시) 이 코드는 직렬화한 데이터를 포함하는 JavaScript 개체를 만들고 반환합니다.이는 JavaScript에서 다음 구문을 사용할 수 있기 때문에 사용할 수 있습니다.
var MyArray = [ 1, 2, 3, 4]; // MyArray is now an array with 4 elements
var MyObject = {
'StringProperty' : 'Value',
'IntProperty' : 12,
'ArrayProperty' : [ 1, 2, 3],
'ObjectProperty' : { 'SubObjectProperty': 'SomeValue' }
}; // MyObject is now an object with property values set.
이것은 여러 가지 용도로 사용할 수 있습니다.우선 서버 백엔드에서 JavaScript 코드로 데이터를 전달하는 편리한 방법입니다.따라서 이것은 AJAX에서 자주 사용됩니다.
또한 스탠드아론의 시리얼라이제이션메커니즘으로도 사용할 수 있습니다.이것은 XML보다 간단하고 공간도 적게 차지합니다.JSON에서 오브젝트를 다양한 프로그래밍 언어로 시리얼라이제이션 및 역시리얼라이제이션할 수 있는 라이브러리가 많이 있습니다.
즉, 데이터를 전달하기 위한 스크립트 표기법입니다.XML 대신 기본 데이터 유형, 어레이 및 관련 어레이(이름과 값의 쌍, 개체라고 함)를 기본적으로 지원합니다.
이 구문은 JavaScript에서 사용되며 JSON 자체는 "JavaScript Object Notation"을 나타냅니다.하지만 그것은 휴대할 수 있게 되었고 다른 언어에서도 사용되고 있다.
자세한 내용은 다음 링크를 참조하십시오.
http://secretgeek.net/json_3mins.asp
JSON 형식은 네트워크 연결을 통해 구조화된 데이터를 직렬화하고 전송하는 데 자주 사용됩니다.주로 서버와 웹 응용 프로그램 간에 데이터를 전송하기 위해 사용되며 XML 대신 사용됩니다.
JSON은 JavaScript 객체 표기법입니다.이것은 XML에 비해 네트워크 연결을 통해 데이터 세트를 전송하는 훨씬 더 콤팩트한 방법입니다. JSON은 XML이 "권장" 옵션인 AJAX와 같은 응용 프로그램에서 사용할 것을 권장합니다.XML의 장황함에 따라 다운로드 시간과 대역폭 소비량($$)이 증가합니다.JSON에서도 동일한 효과를 얻을 수 있으며 JSON의 표시는 거의 기본 구조가 아닌 데이터 자체에만 적용됩니다.
일반적인 간단한 답변은 AJAX를 사용하여 데이터를 요청하면 개체를 JSON 문자열로 쉽게 보내고 반환할 수 있다는 것입니다.JSON()에 대한 Javascript 지원에 사용할 수 있는 확장 기능은 AJAX 요청으로 서버에 데이터를 보내기 위한 모든 Javascript 유형을 호출합니다.AJAX 응답은 객체를 JSON 문자열로 반환할 수 있으며, 예를 들어 AJAX 함수가 someAjaxFunctionCallReturningJson을 반환한 경우 단순한 평가 호출에 의해 Javascript 객체로 변환할 수 있습니다.
"{ \"FirstName\" : \"Fred\", \"LastName\" : \"Flintstone\" }"
Javascript로 쓸 수 있습니다.
var obj = eval("(" + someAjaxFunctionCallReturningJson().value + ")");
alert(obj.FirstName);
alert(obj.LastName);
JSON은 웹 서비스 페이로드 등에도 사용할 수 있지만 AJAX 결과에 매우 편리합니다.
- 업데이트(10년 후):이렇게 하지 말고 JSON.parse를 사용합니다.
저는 JSON이 너무 간결해서 좋아요.gzip이 가능한 웹 콘텐츠는 큰 문제가 되지 않습니다(이 때문에 xhtml이 인기 있는 이유).하지만 이것이 도움이 될 수 있는 경우가 있습니다.
예를 들어, 한 프로젝트에서는 XMPP를 통해 시리얼화 및 전송이 필요한 정보를 전송하고 있었습니다.대부분의 서버는 하나의 메시지로 전송할 수 있는 데이터의 양을 제한하기 때문에 대체 XML이라는 명확한 대체 프로젝트보다 JSON을 사용하는 것이 도움이 되었습니다.
게다가 Python이나 Javascript에 익숙하다면 이미 JSON에 대해 잘 알고 있기 때문에 별도의 훈련 없이 해석할 수 있습니다.
JSON이 뭐죠?
자바스크립트 객체 표기법(JSON)은 JavaScript의 객체 리터럴에서 영감을 얻은 경량 데이터 교환 형식입니다.
JSON 값은 다음과 같이 구성됩니다.
오브젝트(이름/값 쌍의 집합) 배열(값의 순서 목록) 문자열(큰따옴표로 묶음) 숫자 true, false 또는 null
JSON은 언어에 의존하지 않습니다.
PHP를 사용하는 JSON?
PHP 버전 5.2.0 이후 JSON 확장 기능은 디코딩되어 디폴트로 인코딩됩니다.
Json_encode - Json_decode 값의 JSON 표현을 반환합니다. - Decodes the JSON String Json_last_error - 마지막으로 발생한 오류를 반환합니다.
JSON 구문 및 규칙
JSON 구문은 JavaScript 객체 표기 구문에서 파생됩니다.
데이터는 이름/값 쌍에 있습니다. 데이터는 쉼표로 구분됩니다. 물결 괄호로 묶은 개체 유지 각 괄호로 묶은 배열 유지
때로는 필요 없는 곳에 전문성이 주어지기도 하고, 투표된 상위 답변의 대부분은 정확하고 구체적이지만, 저는 개인적으로 위키피디아나 공식 문서에서 볼 수 있는 것처럼 이해하기 쉽거나 간결하다고 생각하지 않습니다.
내가 JSON에 대해 생각하는 방식은 바로 그것이다. - 다른 언어의 세계에 있는 언어이다.그러나 JSON과 다른 언어의 차이점은 "모두가" JSON을 모국어와 함께 "말한다"는 것이다.
실제의 예를 들면, 3명의 사람이 있다고 가정해 봅시다.한 사람은 이그보어를 모국어로 사용합니다.두 번째 사람은 첫 번째 사람과 교류하고 싶지만 첫 번째 사람은 요루바를 첫 번째 언어로 말합니다.
우리가 뭘 할 수 있을까?
다행히 이 예의 세 번째 사람은 영어를 쓰면서 자랐지만 이그보어와 요루바어를 제2외국어로 구사할 수 있기 때문에 처음 두 사람 사이의 중개자 역할을 할 수 있습니다.
프로그래밍 세계에서 첫 번째 "사람"은 Python, 두 번째 "사람"은 Ruby, 세 번째 "사람"은 JSON입니다. JSON은 Ruby를 Python으로 "번역"할 수 있습니다.물론 이 비유는 완벽한 비유는 아니지만 이중언어 사용자로서 JSON이 다른 프로그래밍 언어와 어떻게 상호작용하는지 쉽게 알 수 있습니다.
우리는 대학에서 프로젝트를 해야 하는데, 우리는 매우 큰 문제에 직면했다, 그것은 같은 기원 정책이다.그 밖에 Javascript의 XMLHttpRequest 메서드는 사이트가 있는 도메인이 아닌 다른 도메인에 요청을 할 수 없습니다.
예를 들어 사이트가 www.example.com에 있는 경우 www.otherexample.com에 요청할 수 없습니다.JSONRequest는 이를 허용하지만 해당 사이트에서 이를 허용하면 JSON 형식으로 결과를 얻을 수 있습니다(예를 들어 JSON에서 메시지를 반환하는 웹 서비스가 있음).그것은 당신이 JSON을 사용할 수 있는 하나의 문제입니다.
다음은 실용적인 내용입니다.야후 JSON
JSON과 기존 구문의 차이는 다음과 같습니다(Javascript).
종래의
function Employee(name, Id, Phone, email){
this.name = name;
this.Id = Id;
this.Phone = Phone;
this.email = email;
}
//access or call it as
var Emp = new Employee("mike","123","9373849784","mike.Anderson@office.com");
JSON과 함께
JSON을 사용하면 다음과 같이 정의할 수 있습니다.
function Employee(args){
this.name = args.name;
this.Id = args.Id;
this.Phone = args.Phone;
this.email = args.email;
}
//now access this as...
var Emp = new Employee({'name':'Mike', 'Id':'123', 'Phone':'23792747', 'email':'mike.adnersone@office.com'});
기억해야 할 중요한 것은 JSON 메서드 없이 100개의 요소로 "Employee" 클래스 또는 모달(modal)을 만들어야 할 경우 클래스를 만들 때 모든 것을 해석해야 한다는 것입니다.그러나 JSON에서는 클래스의 새 개체가 정의되었을 때만 개체를 인라인으로 정의할 수 있습니다.
아래 행은 JSON을 사용하여 작업을 수행하는 방법입니다(단순한 정의 방법).
var Emp = new Employee({'name':'Mike', 'Id':'123', 'Phone':'23792747', 'email':'mike.adnersone@office.com'});
아주 간단해요.JSON은 Java Script Object Notation의 약자입니다.소프트웨어 컴포넌트 간에 데이터를 전송하기 위해 XML을 사용하는 대신 사용할 수 있습니다.
예를 들어, 저는 최근에 JSON을 반환하는 웹 서비스를 많이 작성했고, 몇몇 Javascript 개발자는 서비스를 호출하여 반환된 정보를 그 형식으로 소비하는 코드를 작성했습니다.
JSON(Javascript 객체 표기법)은 데이터 교환/전송을 위한 경량 데이터 형식입니다.JavaScript와 같은 키 값 쌍입니다.REST API의 경우 서버에서 클라이언트로의 데이터 전송에 널리 사용됩니다.요즘 많은 소셜 미디어 사이트들이 이것을 사용하고 있다.다만, 데이터 타입에 관해서는 XML만큼 견고하다고는 생각하지 않습니다.XML에는 매우 풍부한 데이터 타입과 XSD가 있습니다.JSON에는 이 기능이 없습니다.
같은 양의 문자열 데이터에 대해 JSON은 XML보다 가벼워집니다.XML에는 개폐 태그 등이 모두 있기 때문입니다.
Java 컨텍스트에서 JSON을 사용하는 이유 중 하나는 Java의 Serialization Framework에 대한 매우 좋은 대안을 제공하기 때문입니다.JSON은 (역사적으로) 상당히 심각한 취약성에 노출되어 있습니다.
Joshua Bloch는 이 문제에 대해 항목 85 "Java Serialization의 대안 선호"(유효한 Java 제3판)에서 자세히 설명합니다.
Java의 Serialization은 처음에 데이터 구조를 쉽게 전송하거나 저장할 수 있는 형식으로 변환하는 것을 의도했습니다.JSON은 위의 심각한 악용 없이 이 요건을 충족합니다.
php json 응답을 해석하려면 다음 코드를 읽어 보십시오.php
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script type="text/javascript">
$.ajax({
url:'index.php',
data:{},
type:"POST",
success:function(result) {
jsondecoded = $.parseJSON(result);
$.each(jsondecoded, function(index, value) {
$("#servers").text($("#servers").text() + " " + value.servername);
console.log(value.start);
console.log(value.end);
console.log(value.id);
});
},
statusCode: {
404: function() {
alert( "page not found" );
}
}
});
</script>
server.displaces
<?php
echo '[{"start":"2017-08-29","end":"2017-09-01","id":"22"},{"start":"2017-09-03","end":"2017-09-06","id":"23"}]';
?>
언급URL : https://stackoverflow.com/questions/383692/what-is-json-and-what-is-it-used-for
'itsource' 카테고리의 다른 글
jQuery looping .each() JSON 키/값이 작동하지 않습니다. (0) | 2023.03.18 |
---|---|
jQuery를 사용하지 않고 node.js에서 JSON 결합 또는 병합 (0) | 2023.03.18 |
매개 변수는 phpmyadmin에서 카운트 가능을 구현하는 어레이 또는 개체여야 합니다. (0) | 2023.03.18 |
Java 클래스에서 JSON 스키마 생성 (0) | 2023.03.18 |
반응 재료의 값 가져오기-UI 자동 완성 (0) | 2023.03.18 |