2009-11-08 7 views
5

대부분의 간단한 단어로 설명 할 수 있습니까?json이란 무엇입니까? 초보자에게 설명 할 수 있습니까?

데모 스크립트에 가장 적합합니다.

+11

http://json.org/에 descripton 문제점은 무엇입니까? – tangens

+0

거기에 제시된 것들로 시도하십시오 ... 설명과 함께 초심자를위한 4 개의 URL이 있습니다 ... 먼저 자신을 연습하고 그 내용을 읽으십시오 –

+1

JavaScript Object Notation – dlamblin

답변

18

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 5.2 이상이 JSON을 만들거나 구문 분석하는 데 사용할 수있는 기능을 가지고 있다고 지적한다

:

<?php 
    $arr = array ('a'=>'ay','b'=>'bee','c'=>'cee'); 
    echo json_encode($arr); //outputs {"a":"ay","b":"bee","c":"cee"} 
?> 

json으로이 유효한 경우 json_decode 기능은 작동합니다, 그래서 때로는 중요하다 그 큰 따옴표를 바로 얻으려면.

+1

예가 유효한 JSON이 아니며 stringkeys에 따옴표가 있어야합니다. – truppo

+0

나는 알고 있지만, 따옴표로 인해 문제가 혼동 될 것이라고 생각합니다. Crockford는 Javascript 1.3+를 사용할 때 표준에서 따옴표 요구 사항을 삭제할 수 있으므로 완전히 불공정 한 바로 가기는 아니지만 – SamGoody

+0

게다가, 나는 stringkeys와 keys를 유효하게하기 위해 doublequote를해야 할 것이다. 그것은 홀수로 보일 전체 문자열을 싱글 쿼 테이션으로 요구할 것이다. – SamGoody

1

JSON은 데이터 구조를 만드는 자바 스크립트 소스 코드입니다.

12

기본적으로 텍스트 기반의 직렬화 형식 인 개체를 텍스트로 설명하는 방법입니다. 그러나, 그것의 아름다움은 또한 단지 정상적인 JavaScript라는 것입니다. 자바 스크립트 구문을 사용하면 객체를 매우 간결한 형식으로 초기화 할 수 있으며 다른 언어에서도 해당 형식을 쉽게 생성/파싱 할 수 있습니다.

따라서 JavaScript가없는 경우 (즉, 코드 으로 텍스트를 해석하면됩니다) 다른 라이브러리에서는 추가 라이브러리없이 대개 라이브러리로 생성 할 수 있습니다. (일반적으로 웹 서버가 해석 할 수있는 브라우저 JSON을 생성합니다.) 이것은 당신이 물론, 완전히 데이터 원본을 신뢰할 가정


1 - 임의의 텍스트를 실행하는 코드는 보안 측면에서 매우 위험하므로.

+0

+1 주로 데이터 형식임을 언급합니다. – Gumbo

3

JSON은 일반적으로 웹 서버에서 브라우저로 보내는 데이터 구조를 선언하는 Javascript 소스 코드입니다. 브라우저는 일반적인 자바 스크립트 파서를 통해 코드를 실행하고 데이터 구조가 튀어 나옵니다.

var myvar = {"column1": "valuie1"}; 
      ^^^^^^^^^^^^^^^^^^^^^^ 

이 부분은 JSON로 알려진 무엇 ^^^와 밑줄 : 같은

자바 스크립트 선언은 볼 수 있었다.

그래서 초기에 일부 자바 스크립트가 좋아하는 서버에서 텍스트를 잡고 구문 분석 : 평가는 위험하기 때문에

var myvar = eval('(' + textfromserver + ')'); 

,이 요즘 더 자주 같이 사용되는 :

var myObject = JSON.parse(myJSONtext); 

그것은이다 많은 사람들이 유용한 정보를 찾았으므로 표준을 만들었습니다. 더 자세한 설명은 this wikepedia page을 참조하십시오.

0

나는 그것을 간단하게하려고 노력할 것이다. XML에 대해 잘 알고 있다면 XML과 비슷합니다. 이는 사람과 프로그램 모두에서 읽기 쉬운 방식으로 데이터를 저장한다는 것입니다. 하나의 프로그램과 다른 프로그램간에 데이터를 이동시키는 중개자로 사용되는 것을 볼 수 있기 때문에 "데이터 교환 형식"으로 표시됩니다.

예를 들어, 다른 사용자가 정보를 가져 와서 자신의 프로그램에서 사용하기를 원하는 특정 데이터베이스가있을 수 있습니다. 데이터베이스에 대한 모든 권한을 부여하는 대신 일종의 JSON 계층을 작성하여 액세스를 제한 할 수 있습니다. 사람들은 RSS 피드와 마찬가지로 JSON에 액세스 할 수 있습니다. 실생활의 예 : 야후는 자신의 검색 엔진을위한 JSON 레이어를 제공하므로 사람들은 야후 검색을 실행할 수있는 데스크톱 위젯 (또는 그 밖의 것들)을 작성하고 데스크톱 위젯으로 직접 결과를 전송할 수 있습니다.

JSON과 같은 것을 사용하는 대신 웹 페이지의 HTML 콘텐츠를 얻고 필요한 정보를 찾는 것이 추악한 경우가 있습니다. 웹 사이트의 HTML 레이아웃이 변경되면 프로그램을 변경해야합니다.

+0

u는 json으로 함수를 정의 할 수도 있습니다 – Chris

+0

@Chris : 아니요, 할 수 없습니다. – Ryan

+0

@minitech : 확실합니다. var o = {f : function() {alert ('yes we can!')}}; 의(); – Chris

0

당신이 일이 실제로 서블릿, JSP 같은 자바 스크립트와 서버 측 기술 사이의 의사 소통을하는 데 도움이 간단한 데이터 교환 형식은 JSON Click here to see the JSON video

JSON (자바 스크립트 객체 표기법)을 보여이 비디오를 시청 할보고 싶다면, WCF, ASP.Net 등

JSON의 형식은 다음과 같습니다. 아래 형식은 "CustomerCode"및 "CustomerName"속성이있는 "Customer"개체를 나타냅니다.

enter image description here

![{"CustomerCode":"1001","CustomerName":"Shiv"}][2] 
지금 형식 쉽게 자바 스크립트에 의해 소비되는 자바 스크립트 객체에 변형 될 수있다. JSON을 javascript 변수에 제공 한 위의 그림을보고 javascript 객체가 "CustomerCode"및 "CustomerName"속성을 사용하여 평가되는 방법을 확인할 수 있습니다. 당신은 웹 아키텍처를 보면

enter image description here

는 두 부분으로 브라우저와 서버가 있습니다. 브라우저 측면에서 Javascript는 가장 유명하고 잘 정립 된 언어이지만 JSP, ASP.NET, PHP 등과 같이 서로 다른 기술을 가지고 있습니다.

따라서 서버 측 기술이 쉽게 변형 될 수있는 JSON 형식을 방출한다면 자바 스크립트 언어로 여러 서버 측 기술 간의 통신을 정말 쉽게 할 수있는 자바 스크립트 객체를 사용합니다.

0

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

관련 문제