java에서fastjson 생성 및 해석 json 데이터 (서열화 및 반서열화 데이터)

5922 단어 fastjsonjson
본문 설명 2시:
1.fastjson 데이터 생성 및 해석
(예: 4가지 상용 유형: JavaBean, List, List, List)
2.android 프로그램을 통해fastjson의 사용법을 테스트합니다.
fastjson 소개:
Fastjson은 Java 언어로 작성된 고성능 기능이 완비된 JSON 라이브러리입니다.fastjson은 독창적인 알고리즘을 사용하여parse의 속도를 극대화하여 모든 json 라이브러리를 초과하고 일찍이 가장 빠른 jackson을 포함한다.구글의 2진 프로토콜 프로토콜 버프도 뛰어넘었다.Fastjson 완전 지원http://json.org의 기준이자 공식 사이트에 수록된 참고 실현 중 하나이다.다양한 JDK 유형을 지원합니다.기본 유형, JavaBean, Collection, Map, Enum, 범용 등을 포함한다.JDK 5, JDK 6, 안드로이드, 아리운 휴대전화 등 환경을 지원한다.
하나.fastjson 생성 json 문자열(JavaBean, List, List, List)

String jsonStrng = JSON.toJSONString(object);
2.fastjson 해석 json 문자열 네 가지 유형
1. JavaBean

Person person = JSON.parseObject(jsonString, Person.class);
2. List

List<Person> listPerson =JSON.parseArray(jsonString, Person.class);
3. List

List<String> listString = JSON.parseArray(jsonString, String.class);
4. List>

List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){}); 
(주의: 여기서fastjson 반사 메커니즘이 gson보다 더 정확하다는 것을 알 수 있습니다. id=1001은fastjson을 통해 반사됩니다. id=1001은 여전히 id=1001이고 gson을 통해 반사된 결과는 id=1001.0입니다.
JSON 해석기 fastjson(알리바바 제품, 버전 1.1.26), JSON Object를 {'JACKIE_ZHANG':'장학우','ANDY_LAU','유덕화','LIMING','여명','Aaron_Kwok','곽부성'}으로 정의하면 값을 읽을 때 KEY 순서가 무질서하고 테스트 코드:

import comalibabafastjsonJSONObject; 
/** 
 * Created by wangzhenfei on 14-4- 
 */ 
public class FastJsonTest { 
 public static void main(String[] args){ 
  String jsonStr = "{\"JACKIE_ZHANG\":\" \",\"ANDY_LAU\":\" \",\"LIMING\":\" \",\"Aaron_Kwok\":\" \"}" ; 
 
 
  // 5  
  for(int i=0,j=5;i<j;i++) 
  { 
   JSONObject jsonObject = JSONObjectparseObject(jsonStr) ; 
   for(javautilMapEntry<String,Object> entry:jsonObjectentrySet()){ 
    Systemoutprint(entrygetKey()+"-"+entrygetValue()+"\t"); 
   } 
   Systemoutprintln();//  
  } 
 } 
} 

실행 결과:

LIMING-  Aaron_Kwok- JACKIE_ZHANG- ANDY_LAU-  
Aaron_Kwok-  ANDY_LAU- LIMING- JACKIE_ZHANG-  
Aaron_Kwok-  JACKIE_ZHANG- ANDY_LAU- LIMING-  
LIMING-  ANDY_LAU- JACKIE_ZHANG- Aaron_Kwok-  
JACKIE_ZHANG-  LIMING- ANDY_LAU- Aaron_Kwok-  
해결 방법: JSONArray로 정의되며 코드는 다음과 같습니다.

import comalibabafastjsonJSONArray; 
 
/** 
 * Created by wangzhenfei on 14-4- 
 */ 
public class FastJsonTest { 
 public static void main(String[] args){ 
  String jsonStr = "[{\"JACKIE_ZHANG\":\" \"},{\"ANDY_LAU\":\" \"},{\"LIMING\":\" \"},{\"Aaron_Kwok\":\" \"}]" ; 
  // 5  
  for(int i=0,j=5;i<j;i++) 
  { 
   JSONArray jsonArray = JSONArrayparseArray(jsonStr); 
 
   for(int k=0;k<jsonArraysize();k++){ 
    Systemoutprint(jsonArrayget(k) + "\t"); 
   } 
   Systemoutprintln();//  
  } 
 } 
} 

실행 결과:

{"JACKIE_ZHANG":" "} {"ANDY_LAU":" "}{"LIMING":" "}{"Aaron_Kwok":" "} 
{"JACKIE_ZHANG":" "} {"ANDY_LAU":" "}{"LIMING":" "}{"Aaron_Kwok":" "} 
{"JACKIE_ZHANG":" "} {"ANDY_LAU":" "}{"LIMING":" "}{"Aaron_Kwok":" "} 
{"JACKIE_ZHANG":" "} {"ANDY_LAU":" "}{"LIMING":" "}{"Aaron_Kwok":" "} 
{"JACKIE_ZHANG":" "} {"ANDY_LAU":" "}{"LIMING":" "}{"Aaron_Kwok":" "} 
JSON Object가 아닌 JSON Array로 정의하려면 다른 JSON 해석기를 선택하고 개인적으로 구글의 gson을 추천합니다. 문서는fast json보다 훨씬 좋습니다(여기서 알리바바와 구글의 차이를 볼 수 있습니다).

import comgooglegsonJsonElement; 
import comgooglegsonJsonObject; 
import comgooglegsonJsonParser; 
 
/** 
 * Created by wangzhenfei on 14-4- 
 */ 
public class FastJsonTest { 
 public static void main(String[] args){ 
  String jsonStr = "{\"JACKIE_ZHANG\":\" \",\"ANDY_LAU\":\" \",\"LIMING\":\" \",\"Aaron_Kwok\":\" \"}" ; 
  // 5  
  for(int i=0,j=5;i<j;i++) 
  { 
   JsonObject jsonObject = (JsonObject) new JsonParser()parse(jsonStr); 
   for(javautilMapEntry<String,JsonElement> entry:jsonObjectentrySet()){ 
    Systemoutprint(entrygetKey()+"-"+entrygetValue()+"\t"); 
   } 
   Systemoutprintln();//  
  } 
 } 
} 
실행 결과:

JACKIE_ZHANG-" " ANDY_LAU-" " LIMING-" " Aaron_Kwok-" "  
JACKIE_ZHANG-" " ANDY_LAU-" " LIMING-" " Aaron_Kwok-" "  
JACKIE_ZHANG-" " ANDY_LAU-" " LIMING-" " Aaron_Kwok-" "  
JACKIE_ZHANG-" " ANDY_LAU-" " LIMING-" " Aaron_Kwok-" "  
JACKIE_ZHANG-" " ANDY_LAU-" " LIMING-" " Aaron_Kwok-" "
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기