답변
JSON은 일반적으로 브라우저와 서버간에 데이터를 공유하는 방법입니다.어떤 점에서
//arrays:
[value, value, value]
//objects:
{key:value, key:value, key:value}
, 더그가 이미 설치 객체와 같은 자바 스크립트로 데이터를 전송하는 것이 가장 효율적인 것을 깨달았다로 알려진 전문가 :
자바 스크립트 값의 저장 컬렉션에 두 가지 방법을 할 수 있습니다. [PHP가 쉼표로 구분 된 문자열, 포스트 데이터, XML 또는 HTML을 전송하는 대신 JavaScript로 고심하게 분석해야합니다.]
그는 JSON이라는 아이디어를 작성하여 규격을 작성했으며 표준이 탄생했습니다. 예를 들어
,의 말을 할 수 있기 때문에 사용자 이름, 총 게시물, 그리고 일을 반환해야 당신의 login.php 스크립트 등록 :
//XML
"<xml..><details>\
<user>Jim</user><posts>239</posts><since>Jan09</since>\
</details>"
//POSTData
"user=Jim&posts=239&since=Jan09"
//JSON
"{user:'Jim', posts:239, since:'Jan09'}"
마지막 하나는 쉽게 (eval
사용) JS에 의해 구문 분석 될 수 있으며, 세부 사항은 직관적으로 사용할 수 있습니다
var user = details.user;
편집 :
제대로 유효한 JSON으로 주목되었다, 모든 문자열은 인용을 두 번해야합니다. JS가 예약 된 키워드에서 엉망이되는 것을 막기 위해 (예 : class
과 같이 특정 단어를 사용하지 않을 수 있습니다 (인용 부호가없는 경우) {class:'mike'}
는 사용할 수 없습니다.
:
<?php
$arr = array ('a'=>'ay','b'=>'bee','c'=>'cee');
echo json_encode($arr); //outputs {"a":"ay","b":"bee","c":"cee"}
?>
json으로이 유효한 경우 json_decode
기능은 작동합니다, 그래서 때로는 중요하다 그 큰 따옴표를 바로 얻으려면.
예가 유효한 JSON이 아니며 stringkeys에 따옴표가 있어야합니다. – truppo
나는 알고 있지만, 따옴표로 인해 문제가 혼동 될 것이라고 생각합니다. Crockford는 Javascript 1.3+를 사용할 때 표준에서 따옴표 요구 사항을 삭제할 수 있으므로 완전히 불공정 한 바로 가기는 아니지만 – SamGoody
게다가, 나는 stringkeys와 keys를 유효하게하기 위해 doublequote를해야 할 것이다. 그것은 홀수로 보일 전체 문자열을 싱글 쿼 테이션으로 요구할 것이다. – SamGoody
JSON은 데이터 구조를 만드는 자바 스크립트 소스 코드입니다.
기본적으로 텍스트 기반의 직렬화 형식 인 개체를 텍스트로 설명하는 방법입니다. 그러나, 그것의 아름다움은 또한 단지 정상적인 JavaScript라는 것입니다. 자바 스크립트 구문을 사용하면 객체를 매우 간결한 형식으로 초기화 할 수 있으며 다른 언어에서도 해당 형식을 쉽게 생성/파싱 할 수 있습니다.
따라서 JavaScript가없는 경우 (즉, 코드 으로 텍스트를 해석하면됩니다) 다른 라이브러리에서는 추가 라이브러리없이 대개 라이브러리로 생성 할 수 있습니다. (일반적으로 웹 서버가 해석 할 수있는 브라우저 JSON을 생성합니다.) 이것은 당신이 물론, 완전히 데이터 원본을 신뢰할 가정
1 - 임의의 텍스트를 실행하는 코드는 보안 측면에서 매우 위험하므로.
+1 주로 데이터 형식임을 언급합니다. – Gumbo
JSON은 일반적으로 웹 서버에서 브라우저로 보내는 데이터 구조를 선언하는 Javascript 소스 코드입니다. 브라우저는 일반적인 자바 스크립트 파서를 통해 코드를 실행하고 데이터 구조가 튀어 나옵니다.
var myvar = {"column1": "valuie1"};
^^^^^^^^^^^^^^^^^^^^^^
이 부분은 JSON로 알려진 무엇 ^^^와 밑줄 : 같은
자바 스크립트 선언은 볼 수 있었다.
그래서 초기에 일부 자바 스크립트가 좋아하는 서버에서 텍스트를 잡고 구문 분석 : 평가는 위험하기 때문에
var myvar = eval('(' + textfromserver + ')');
,이 요즘 더 자주 같이 사용되는 :
var myObject = JSON.parse(myJSONtext);
그것은이다 많은 사람들이 유용한 정보를 찾았으므로 표준을 만들었습니다. 더 자세한 설명은 this wikepedia page을 참조하십시오.
나는 그것을 간단하게하려고 노력할 것이다. XML에 대해 잘 알고 있다면 XML과 비슷합니다. 이는 사람과 프로그램 모두에서 읽기 쉬운 방식으로 데이터를 저장한다는 것입니다. 하나의 프로그램과 다른 프로그램간에 데이터를 이동시키는 중개자로 사용되는 것을 볼 수 있기 때문에 "데이터 교환 형식"으로 표시됩니다.
예를 들어, 다른 사용자가 정보를 가져 와서 자신의 프로그램에서 사용하기를 원하는 특정 데이터베이스가있을 수 있습니다. 데이터베이스에 대한 모든 권한을 부여하는 대신 일종의 JSON 계층을 작성하여 액세스를 제한 할 수 있습니다. 사람들은 RSS 피드와 마찬가지로 JSON에 액세스 할 수 있습니다. 실생활의 예 : 야후는 자신의 검색 엔진을위한 JSON 레이어를 제공하므로 사람들은 야후 검색을 실행할 수있는 데스크톱 위젯 (또는 그 밖의 것들)을 작성하고 데스크톱 위젯으로 직접 결과를 전송할 수 있습니다.
JSON과 같은 것을 사용하는 대신 웹 페이지의 HTML 콘텐츠를 얻고 필요한 정보를 찾는 것이 추악한 경우가 있습니다. 웹 사이트의 HTML 레이아웃이 변경되면 프로그램을 변경해야합니다.
당신이 일이 실제로 서블릿, JSP 같은 자바 스크립트와 서버 측 기술 사이의 의사 소통을하는 데 도움이 간단한 데이터 교환 형식은 JSON Click here to see the JSON video
JSON (자바 스크립트 객체 표기법)을 보여이 비디오를 시청 할보고 싶다면, WCF, ASP.Net 등
JSON의 형식은 다음과 같습니다. 아래 형식은 "CustomerCode"및 "CustomerName"속성이있는 "Customer"개체를 나타냅니다.
![{"CustomerCode":"1001","CustomerName":"Shiv"}][2]
지금 형식 쉽게 자바 스크립트에 의해 소비되는 자바 스크립트 객체에 변형 될 수있다. JSON을 javascript 변수에 제공 한 위의 그림을보고 javascript 객체가 "CustomerCode"및 "CustomerName"속성을 사용하여 평가되는 방법을 확인할 수 있습니다. 당신은 웹 아키텍처를 보면
는 두 부분으로 브라우저와 서버가 있습니다. 브라우저 측면에서 Javascript는 가장 유명하고 잘 정립 된 언어이지만 JSP, ASP.NET, PHP 등과 같이 서로 다른 기술을 가지고 있습니다.
따라서 서버 측 기술이 쉽게 변형 될 수있는 JSON 형식을 방출한다면 자바 스크립트 언어로 여러 서버 측 기술 간의 통신을 정말 쉽게 할 수있는 자바 스크립트 객체를 사용합니다.
JSON (JavaScript Object Notation)은 데이터가 상호 교환에 사용되는 경량 형식입니다. 또한 JavaScript의 Object Notation (JavaScript로 작성된 방법 objects
)의 하위 집합입니다.
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의 객체를 직렬화 및 비 직렬화 할 수있는 라이브러리가 많이 있습니다.
다음은 매우 빠르고 간결한 글입니다. (MSON에 thnx, Vilx) http://secretgeek.net/json_3mins.asp
는
- 1. JSON이란 무엇입니까?
- 2. 웹 응용 프로그램에서 JSON이란 무엇입니까?
- 3. 누군가 ja_JP.UTF8을 설명 할 수 있습니까?
- 4. 누군가가 라인 결말을 설명 할 수 있습니까?
- 5. 누구든지이 코드를 설명 할 수 있습니까?
- 6. 누구든지이 MySQL 오류를 설명 할 수 있습니까?
- 7. 누군가 Microsoft Unity를 설명 할 수 있습니까?
- 8. 누구든지이 프로그램을 설명 할 수 있습니까?
- 9. 하나는이 프로그램의 출력을 설명 할 수 있습니까?
- 10. 데이터베이스의 연관 관계를 설명 할 수 있습니까?
- 11. 누군가이 자바 코드를 설명 할 수 있습니까
- 12. 누군가이 파일을 설명 할 수 있습니까?
- 13. 누군가이 CSS 코드를 설명 할 수 있습니까?
- 14. 이 프로세스를 단계별로 설명 할 수 있습니까?
- 15. 누군가가 어떻게 작동하는지 설명 할 수 있습니까?
- 16. JPQL에서 테이블 쿼리를 설명 할 수 있습니까?
- 17. Nhibernate의 상속을 나에게 설명 할 수 있습니까?
- 18. 누군가이 C 함수를 설명 할 수 있습니까?
- 19. 누군가가 VistaDB를 설명 할 수 있습니까?
- 20. 누군가이 JavaScript 코드를 설명 할 수 있습니까?
- 21. 이 코드를 설명 할 수 있습니까?
- 22. 누군가이 HtmlAgilityPack 코드를 설명 할 수 있습니까?
- 23. 누구든지이 쿼리가하는 것을 설명 할 수 있습니까?
- 24. 누군가 Gtk2 포장을 설명 할 수 있습니까?
- 25. 누군가이 MATLAB 코드를 설명 할 수 있습니까?
- 26. 누군가 UIAlertView의 차이점을 설명 할 수 있습니까?
- 27. 누군가이 오류의 의미를 설명 할 수 있습니까?
- 28. javaScript : 누군가가 이것을 설명 할 수 있습니까
- 29. 누구든지이 코드 라인을 설명 할 수 있습니까?
- 30. 누군가이 @synthesize 구문을 설명 할 수 있습니까?
http://json.org/에 descripton 문제점은 무엇입니까? – tangens
거기에 제시된 것들로 시도하십시오 ... 설명과 함께 초심자를위한 4 개의 URL이 있습니다 ... 먼저 자신을 연습하고 그 내용을 읽으십시오 –
JavaScript Object Notation – dlamblin