JSON 경량 데이터 교환 형식
XML과 비교할 때 JSON은 더 빠르며 문서가 더 작습니다.
JSON 형식
{속성 이름 : 속성 값, 속성 이름 : 속성 값, ...}}
속성 유형은 문자열, 번호, 부울, NULL, 객체 및 속성 이름이 이중 인용문으로 동봉되어야합니다. 속성 값이 문자열 인 경우 이중 인용문으로도 밀어야합니다.
JSON은 배열을 나타냅니다
형식 : [값, 값, 값], 여기서 값은 기본 데이터 유형 또는 객체 유형 또는 배열 유형 일 수 있습니다.
배열 유형 [{ "name": "yangjq", "age": 22}, { "name": "andreny", "age": 21}];객체 유형 [ "이름": "andreny", "취미": [ "노래", "댄스", "eat"]]]]]
전환하다
그래프 lrjson 문자열 -> javaScript 객체
1. JavaScript의 기본 기능 : Eval ()를 사용하지만이 방법은 위험하며 사용할 때주의해야합니다.
var str = { "name": "yangjq", "age": 23}; var obj = val ( "("+str+")"); Alert (obj.name);2. 기본 객체 json이 제공 한 구문 분석 () 메소드를 사용하십시오. 이 객체가 유효하지 않으면 브라우저 버전이 너무 낮다는 것을 의미합니다! ! !
var str = { "name": "andreny", "age": 22}; var obj = json.parse (str); alert (obj.name);3. json.js 파일을 사용하여 문자열을 추가하는 메소드.
var str = { "name": "cute erha", "age": 9}; var obj = str.parsejson (); alert (obj.name);JSON 객체를 JSON 문자열로 변환하십시오
그래프 lrjson 객체 -> json 문자열
JSON이 제공 한 API 사용 : JSONOBJECT, JSONARRAY가 제공하는 메소드
// 첫 번째 방법 emp emp = new emp ( "1", "andreny", "man"); str2 = obj.json.stringify ();
요청을 보낼 때 Ajax와 관련된 캐싱 문제
== note == : 요청을 보낼 때, IE 브라우저에서 제공 한 ajax 객체는 먼저 주소에 액세스했는지 확인합니다. 액세스 한 경우 브라우저는 더 이상 요청을 보내지 않습니다.
캐시를 처리하기위한 다른 브라우저의 메커니즘
크롬은 계속 요청을 보냅니다
Firefox는 계속 요청을 보냅니다
IE 브라우저는 더 이상 요청을 보냅니다
캐시 때문에 브라우저가 요청을 보내지 않도록하는 방법은 무엇입니까?
요청 주소 후에 난수를 추가하십시오
xhr.open ( 'get', 'getnumber.do ??+math.random(),true);
게시물 요청을 보내십시오
동기화에 관한 몇 가지 질문
동기화 요청을 보내면 브라우저는 페이지에서 계속 작동하기 전에 서버의 응답이 도착하기를 기다려야합니다. AJAX가 동기화 요청을 보내면 브라우저가 현재 페이지를 잠그게합니다.
테스트 코드
package yangjq.test; import java.util.arraylist; import java.util.list; import net.sf.json.jsonarray; import net.sf.json.jsonobject; import yangjq.entity.friend; public class jsontest {public static void main (string [] args). {system.out.println ( "----------------------"; test1 (); test2 (); test3 (); test4 ();} // JSON 문자열 공개 정적 void test1 () {friend f = new friend (); f.setName ( "andReny"); JsonObject obj = jsonobject.fromobject (f); system.out.println (obj.toString ());} // json 컬렉션을 JSON 문자열 공개 정적 무효 test2 () {list <friend> fs = new arrayList <friendry> (); for (int i = 0; i <10; i ++) {friend f = new friend (); f.setName ( "yangjq"+i); f.setage (12+i); fs.add (f);} jsonarray ja = jsonarray.fromobject (fs); system.out.println ( "-------------/n"+fs); system.out.println (ja.tostring ());} // json 문자열은 Java Object public static void test3 () {String으로 변환됩니다. jsonstem = "{/"name/":/"andreny/",/"age/": 22}"; JSONObject.toBean(obj,Friend.class);System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "{/"name/":/"andreny/",/"age/": 23}]"; JSONArray.toCollection(obj,Friend.class);System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------실행 결과 :
---------------{"age":23,"name":"andreny"}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [name = yangjq8, age = 20], 친구 [name = yangjq9, age = 21]]] [{ "age": 12, "name": "yangjq0"}, { "age": 13, "name": "yangjq1"}, { "age": 14, "name": "Yang jq2 "}, {"age ": 15,"name ":"yangjq3 "}, {"age ": 16,"name ":"yangjq4 "}, {"age ": 17,"name ":"yangjq5 " },{"age":18,"name":"yangjq6"},{"age":19,"name":"yangjq7"},{"age":20,"name":"yangjq8"},{"age":21,"name":"yangjq9"}]--------------------- ---------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [이름 = Andreny, age=22]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------요약
위의 내용은 JSON의 데이터 교환, 캐싱 및 동기화 문제를 논의하는이 기사에 관한 모든 것입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!