json_json을 구문 분석하는 자바스크립트에 대한 자세한 코드
JSON의 규칙은 간단합니다. 객체는 "이름/값 쌍"의 정렬되지 않은 모음입니다. 객체는 "{"(왼쪽 대괄호)로 시작하고 "}"(오른쪽 대괄호)로 끝납니다. 각 "이름" 뒤에는 ":"(콜론)이 옵니다. "이름/값" 쌍은 ","(쉼표)로 구분됩니다. 자세한 내용은 http://www.json.org/json-zh.html
간단한 예:
js 코드
var user =
{
" 사용자 이름":"andy ",
"나이":20,
"info": { "tel": "123456", "cellphone": "98765"},
"address":
[
{"city":"beijing","postcode":"222333"},
{"city":"newyork","postcode":"555666"}
]
}
alert(user.username);
alert(user.age)
alert(user.info.cellphone)
alert(user.address[0].city) ;
alert (user.address[0].postcode);
}
JSON을 사용하여 간단하게 데이터를 수정할 수도 있습니다. 위의 예를 수정하세요
js 코드
var user =
{
"username":"andy",
" age": 20,
"info": { "tel": "123456", "cellphone": "98765"},
"address":
[
{"city":" beijing", "postcode":"222333"},
{"city":"newyork","postcode":"555666"}
]
}
alert(user. 사용자 이름);
alert(user.age);
alert(user.info.cellphone)
alert(user.address[0].city); ].postcode );
user.username = "Tom";
alert(user.username);
}
JSON은 json.js 패키지를 제공합니다. 다운로드 http: //www.json.org/json.js 가져온 후 간단히 object.toJSONString()을 사용하여 JSON 데이터로 변환할 수 있습니다.
js 코드
alert(carr.toJSONString())
}
function Car(제조사, 모델, 연도, 색상) {
this.make = make;
this.model = 모델
this.year =
this.color = 색상; ;
}
eval을 사용하여 JSON 문자를 객체
js 코드
var obj = eval('(' str ')');
alert(obj.toJSONString());
}
또는 parseJSON( ) 메소드
js 코드
var obj = str.parseJSON()
alert(obj) .toJSONString());
}
다음은 프로토타입을 사용하여 JSON의 ajax 예제를 작성합니다.
먼저 서블릿을 작성하고(제 것은 servlet.ajax.JSONTest1.java입니다) 문장을 작성합니다
java 코드
response.getWriter().print("{ " name": "Violet", "occupation": "character" }")
페이지에 Ajax 요청 작성
js 코드
var mailAjax = new Ajax.Request(
url,
{
method: 'get',
onComplete: jsonResponse
}
)
}
함수 jsonResponse(originalRequest) {
alert(originalRequest.responseText);
var myobj = originalRequest.responseText.parseJSON();
alert(myobj.name); 🎜>Prototype-1.5.1.js에서는 JSON 방식인 String.evalJSON()을 제공하므로 json.js를 사용할 수 없으므로 위 방식
js 코드
코드 복사
코드는 다음과 같습니다.
JSON은 Java jar 패키지 http://www.json.org/java/index.html도 제공합니다. API도 매우 간단합니다. 다음은 예시입니다
javascript에서 요청 매개변수를 입력하세요
js 코드
함수 sendRequest () {
var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow")
var pars = "carr.toJSONString()
var url = "/MyWebApp/JSONTest1";
var mailAjax = new Ajax.Request(
url,
{
메서드: 'get',
매개변수: pars,
onComplete: jsonResponse
}
);
}
JSON 요청 문자열을 사용하면 JSONObject를 생성하고 구문 분석하고 서블릿을 수정하여 JSON 처리를 추가할 수 있습니다. json.jar 사용 필요)
java 코드
private void doService( HttpServletRequest 요청, HttpServletResponse 응답)에서 IOException이 발생합니다. {
String s3 = request.getParameter("car")
try {
JSONObject jsonObj = new JSONObject(s3) ;
System.out.println( jsonObj.getString("model"));
System.out.println(jsonObj.getInt("year"))
} catch(JSONException e) 🎜>e.printStackTrace();
}
response.getWriter().print("{ "name": "Violet", "occupation": "character" }")
}
java 코드
String s3 = request.getParameter("car"); >try {
JSONObject jsonObj = new JSONObject(s3);
System.out.println(jsonObj.getString("model"))
System.out.println(jsonObj.getInt("year") ));
} catch (JSONException e) {
e.printStackTrace();
}
JSONObject resultJSON = new JSONObject(); append("name", "Violet")
.append( "occupation", "developer")
.append("age", new Integer(22))
System.out.println( resultJSON.toString());
} catch (JSONException e) {
e.printStackTrace();
}
response.getWriter().print(resultJSON.toString()); >}
js 코드
코드 복사
참조
http://www.json.org/js.html
http://www. blogjava.net/Jkallen/archive/2006/03/28/37905.html
http://www.json.org/
http://www.prototypejs.org/learn /json
http://www.json.org/java /index.html
http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/index .html
JSON 사용
JSON은 JavaScript 개체 표기법으로, 데이터를 설명하기 위한 간단한 구문입니다. JSON은 JavaScript 언어의 하위 집합이기 때문에 우아합니다. 다음으로 이것이 왜 그렇게 중요한지 알게 될 것입니다. 먼저 JSON과 XML 구문을 비교해 보겠습니다.
JSON과 XML 모두 구조화된 방법을 사용하여 데이터를 설명합니다. 예를 들어, 주소록 애플리케이션은 XML 형식의 주소 카드를 생성하기 위한 웹 서비스를 제공할 수 있습니다.
코드 복사
<카드>
<이메일 주소>
kelly@seankelly.biz
kelly@seankelly.tv
<전화>
<전화 유형='팩스'> 1 214 555 1213전화>
<전화 유형='모바일'> 1 214 555 1214전화>
전화>
<주소>
1234 Main St
Springfield, TX 78080-1216
<주소 유형='집' 형식='우리'>5678 Main St
Springfield, TX 78080-1316
주소>
<주소 유형='직장'>http://seankelly.biz/
<주소 유형='집'>http://seankelly.tv/
카드>
使useJSON, FORM式如下:
{
"fullname": "Sean Kelly",
"org": "SK Consulting",
"emailaddrs": [
{"type": "work", "value ": "kelly@seankelly.biz"},
{"type": "home", "pref": 1, "value": "kelly@seankelly.tv"}
],
" Telephones": [
{"type": "work", "pref": 1, "value": " 1 214 555 1212"},
{"type": "fax", "value": " 1 214 555 1213"},
{"유형": "모바일", "값": " 1 214 555 1214"}
],
"주소": [
{"유형 ": "직장", "형식": "우리",
"value": "1234 Main StnSpringfield, TX 78080-1216"},
{"type": "집", "format": " us",
"value": "5678 Main StnSpringfield, TX 78080-1316"}
],
"urls": [
{"type": "work", "value": "http://seankelly.biz/"},
{"type": "home", "value": "http://seankelly.tv/"}
]
}
JSON은 JSON 형식의 유니코드를 사용합니다. JSON은 유니코드로 사용됩니다.很容易阅读。主观上,JSON更清晰,冗余更少。JSON WEB站点严格地描述了JSON语法,目前就是这样的。 설명! XML确实适合标记文档,但是JSON是数据交互每个JSON文档描述了一个这样一个对象,该对象包含有:嵌套对象、数组、字符串、数字、布尔值或值。
지금 这些地址卡例子代码中,JSON版本是更轻weight级的,只而了682字节ative 空间 ,而XML版本需要744字节空间。尽管这不是一个可观的节省。而实际的好处则来自解析过程。
XML对比JSON:地位丧失
일반적으로 XMLHttpRequest를 사용하여 XMLHttpRequest를 사용하고 AJAX를 사용하는 XML과 JSON문서를 사용합니다.
var req = new XMLHttpRequest();
req.open("GET", "http://localhost/addr?cardID=32", /*async*/true);
req.onreadystatechange = myHandler;
req.send(/*매개변수 없음*/null);
작성된 WEB服务器响应, 你提供的处理器函数(myHandler函数)被多次调用, 为你提供提前终止事务,更新进島条等机会.일반적으로 웹사이트에 있습니다.以后才起작용: 那时,你就可以使用返回的数据了.
为了处理XML版本的地址卡数据,myHandler의 代码如下:
function myHandler() {
if (req.readyState == 4 /*complete*/) {
// 첫 번째 거리 주소로 양식의 주소 필드 업데이트
var addrField = document.getElementById('addr');
var root = req.responseXML;
var addrsElem = root.getElementsByTagName('addresses')[0];
var firstAddr = addrsElem.getElementsByTagName('address')[0];
var addrText = FistAddr.firstChild;
var addrValue = addrText.nodeValue;
addrField.value = addrValue;
}
}
XML 문서를 구문 분석할 필요가 없다는 점은 주목할 가치가 있습니다. XMLHttpRequest 객체는 자동으로 구문 분석되고 responseXML에서 DOM 트리를 사용할 수 있게 만듭니다. responseXML 속성을 사용하면 getElementsByTagName 메소드를 호출하여 문서의 주소 부분을 찾을 수도 있습니다. 그런 다음 getElementsByTagName을 다시 호출하여 주소 부분의 첫 번째 주소 요소를 찾을 수 있습니다. 이는 텍스트 노드인 문서의 첫 번째 DOM 하위 노드를 가져오고 원하는 거리 주소인 노드의 값을 가져옵니다. 마지막으로 결과는 양식 필드에 표시될 수 있습니다.
정말 간단한 작업이 아닙니다. 이제 JSON을 사용하여 다시 시도해 보세요.
function myHandler() {
if (req.readyState == 4 /*complete*/) {
var addrField = document.getElementById('addr') ;
var 카드 = eval('(' req.responseText ')')
addrField.value = 카드.주소[0].value;
}
card.addresses[0].value는 첫 번째 거리 주소이고, "1234 Main Stb &"
card.addresses[0].type은 주소 유형, "직장"
card.addresses[1]은 집 주소 개체입니다.
card.fullname은 카드 이름, "Sean Kelly"입니다.
자세히 살펴보면 다음을 알 수 있습니다. XML 형식의 문서에는 최소한 추종자 요소인 카드가 있습니다. JSON에는 존재하지 않습니다. 왜 그렇습니까? 아마도 웹 서비스에 액세스하기 위해 JavaScript를 개발하고 있다면 이미 원하는 것이 무엇인지 알고 있을 것입니다. 그러나 JSON에서는 다음을 사용할 수 있습니다.
{"card": {"fullname": ...}}
이 기술을 사용하면 JSON 파일은 항상 이름이 지정된 단일 속성을 가진 객체로 끝납니다. , 이 속성은 객체의 유형을 식별합니다.
JSON은 빠르고 안정적인가요?
JSON은 가볍고 작은 문서를 제공하며 JavaScript에서는 JSON을 사용하기가 더 쉽습니다. XMLHttpRequest는 XML 문서를 자동으로 구문 분석하므로 여전히 JSON 파일을 수동으로 구문 분석해야 합니다. 하지만 JSON 구문 분석이 XML 구문 분석보다 느릴까요? 저자는 XMLHttpRequest를 사용하여 XML을 구문 분석하고 수천 번의 반복 테스트를 통해 JSON을 구문 분석한 결과 JSON 구문 분석이 XML보다 10배 빠릅니다. 속도가 가장 중요한 요소인 데스크톱 애플리케이션으로 AJAX를 살펴보면 JSON이 우수하다는 것이 분명합니다.
물론 AJAX 프로그램용 데이터를 생성하기 위해 항상 서버 측을 제어할 수는 없습니다. 또한 타사 서버를 사용하여 서버 대신 XML 형식의 출력을 제공할 수도 있습니다. 그리고 서버가 JSON을 제공하는 경우 실제로 이를 사용하시겠습니까?
코드에서 주목할 만한 점은 응답 텍스트를 eval에 직접 전달한다는 것입니다. 서버를 제어하면 이 작업을 수행할 수 있습니다. 그렇지 않은 경우 악성 서버로 인해 브라우저가 위험한 작업을 수행할 수 있습니다. 이와 같은 경우 JavaScript로 작성된 코드를 사용하여 JSON을 구문 분석하는 것이 더 좋습니다. 다행히도 이는 이미 존재합니다.
파싱에 관해 말하자면 Python 애호가라면 JSON이 JavaScript의 하위 집합이 아니라 Python의 하위 집합이기도 함을 알 수 있습니다. Python에서 직접 JSON을 실행하거나 대신 보안 JSON 구문 분석을 사용할 수 있습니다. JSON.org 웹사이트에는 일반적으로 사용되는 JSON 파서 목록이 많이 나와 있습니다.
서버 측 JSON
지금까지는 클라이언트 브라우저에서 실행되는 AJAX 기반 웹 애플리케이션에서 JSON을 사용하는 데 중점을 두었을 것입니다. 당연히 먼저 JSON 형식의 데이터가 서버 측에서 생성되어야 합니다. 다행히 JSON을 생성하거나 다른 기존 데이터를 JSON으로 변환하는 것은 매우 간단합니다. TurboGears와 같은 일부 WEB 애플리케이션 프레임워크에는 JSON 출력에 대한 지원이 자동으로 포함됩니다.
또한 상용 WEB 서비스 제공업체들도 JSON에 주목하고 있습니다. Yahoo는 최근 JSON 기반 웹 서비스를 많이 만들었습니다. Yahoo의 다양한 검색 서비스, 이행 계획, del.icio.us 및 고속도로 교통 서비스도 JSON 출력을 지원합니다. 의심할 바 없이 다른 주요 웹 서비스 제공업체도 JSON에 대한 지원을 추가할 것입니다.
요약
JSON의 영리함은 JavaScript와 Python의 하위 집합이므로 사용하기 쉽고 AJAX와의 효율적인 데이터 상호 작용을 제공한다는 것입니다. XML보다 더 빠르게 구문 분석하고 사용하기 쉽습니다. 이제 JSON은 "Web 2.0"의 가장 강력한 목소리가 되고 있습니다. 표준 데스크톱 애플리케이션이든 웹 애플리케이션이든 모든 개발자는 점점 더 단순성과 편리함에 주목하고 있습니다. 유행어 준수, Web-2.0 기반, AJAX 지원, 민첩한 개발에 JSON을 적용하는 즐거움을 경험해 보시길 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Oracle 오류 3114에 대한 자세한 설명: 이를 신속하게 해결하는 방법, 구체적인 코드 예제가 필요합니다. Oracle 데이터베이스를 개발 및 관리하는 동안 다양한 오류가 발생하는 경우가 많으며 그중 오류 3114는 비교적 일반적인 문제입니다. 오류 3114는 일반적으로 네트워크 오류, 데이터베이스 서비스 중지 또는 잘못된 연결 문자열 설정으로 인해 발생할 수 있는 데이터베이스 연결 문제를 나타냅니다. 이 문서에서는 오류 3114의 원인과 이 문제를 신속하게 해결하는 방법을 자세히 설명하고 특정 코드를 첨부합니다.

PHP 배열을 JSON으로 변환하기 위한 성능 최적화 방법은 다음과 같습니다. JSON 확장 및 json_encode() 함수를 사용하여 문자 이스케이프를 방지하고 버퍼를 사용하여 JSON 인코딩 결과 캐싱을 고려합니다. JSON 인코딩 라이브러리.

[PHP 중간점의 의미와 사용법 분석] PHP에서 중간점(.)은 두 개의 문자열이나 객체의 속성이나 메소드를 연결하는 데 사용되는 일반적으로 사용되는 연산자입니다. 이 기사에서는 구체적인 코드 예제를 통해 PHP에서 중간점의 의미와 사용법을 자세히 살펴보겠습니다. 1. 문자열 중간점 연산자 연결 PHP에서 가장 일반적인 사용법은 두 문자열을 연결하는 것입니다. 두 문자열 사이에 .을 배치하면 두 문자열을 이어붙여 새 문자열을 만들 수 있습니다. $string1=&qu

Jackson 라이브러리의 주석은 JSON 직렬화 및 역직렬화를 제어합니다. 직렬화: @JsonIgnore: 속성 무시 @JsonProperty: 이름 지정 @JsonGetter: get 메서드 사용 @JsonSetter: set 메서드 사용 역직렬화: @JsonIgnoreProperties: @JsonProperty 속성 무시: 이름 지정 @JsonCreator: 생성자 사용 @JsonDeserialize: 사용자 정의 논리

Win11의 새로운 기능 분석: Microsoft 계정 로그인을 건너뛰는 방법 Windows 11이 출시되면서 많은 사용자는 Windows 11이 더 편리하고 새로운 기능을 제공한다는 사실을 알게 되었습니다. 그러나 일부 사용자는 시스템을 Microsoft 계정에 연결하는 것을 좋아하지 않아 이 단계를 건너뛰기를 원할 수도 있습니다. 이 문서에서는 사용자가 Windows 11에서 Microsoft 계정 로그인을 건너뛰고 보다 개인적이고 자율적인 환경을 달성하는 데 도움이 되는 몇 가지 방법을 소개합니다. 먼저 일부 사용자가 Microsoft 계정에 로그인하기를 꺼리는 이유를 이해해 보겠습니다. 한편으로는 일부 사용자들은 다음과 같은 걱정을 합니다.

공간 제한으로 인해 다음은 간략한 기사입니다. Apache2는 일반적으로 사용되는 웹 서버 소프트웨어이고 PHP는 널리 사용되는 서버측 스크립팅 언어입니다. 웹 사이트를 구축하는 과정에서 Apache2가 PHP 파일을 올바르게 구문 분석할 수 없어 PHP 코드가 실행되지 않는 문제가 발생하는 경우가 있습니다. 이 문제는 일반적으로 Apache2가 PHP 모듈을 올바르게 구성하지 않거나 PHP 모듈이 Apache2 버전과 호환되지 않기 때문에 발생합니다. 이 문제를 해결하는 방법은 일반적으로 두 가지가 있는데, 그 중 하나는

PHP 배열은 json_encode() 함수를 통해 JSON 문자열로 변환할 수 있으며(예: $json=json_encode($array);), 반대로 json_decode() 함수를 사용하면 JSON에서 배열로 변환할 수 있습니다($array= json_decode($json);) . 다른 팁에는 심층 변환 방지, 사용자 정의 옵션 지정 및 타사 라이브러리 사용이 포함됩니다.

소개 XML(Extensible Markup Language)은 데이터 저장 및 전송에 널리 사용되는 형식입니다. Java에서 XML을 구문 분석하는 것은 데이터 교환에서 문서 처리에 이르기까지 많은 응용 프로그램에 필요한 작업입니다. XML을 효율적으로 구문 분석하기 위해 개발자는 다양한 Java 라이브러리를 사용할 수 있습니다. 이 기사에서는 가장 널리 사용되는 XML 구문 분석 라이브러리 중 일부를 특징, 기능 및 성능에 중점을 두고 비교하여 개발자가 현명한 선택을 할 수 있도록 돕습니다. DOM(문서 개체 모델) 구문 분석 라이브러리 JavaXMLDOMAPI: Oracle에서 제공하는 표준 DOM 구현입니다. 개발자가 XML 문서에 액세스하고 조작할 수 있는 개체 모델을 제공합니다. DocumentBuilderFactoryfactory=D
