자바 에서 JSON 의 다양한 사용 방식 에 대해 논 하 다.

4427 단어 JavaJSON
1.자주 쓰 는 JSON 변환
 JSONobject 에서 JSON 문자열 바 꾸 기

JSONObject json = new JSONObject();
jsonObject.put("name", "test");
String str = JSONObject.toJSONString(json);
JSON 문자열 JSON 으로 변환

String str = "{\"name\":\"test\"}";
JSONObject json = JSONObject.parseObject(str);
실체 클래스 JSON

Test test = new Test();
test.setName("test");
String testStr = JSONObject.toJSONString(test);
JSONObject json = JSONObject.parseObject(testStr);
지도 JSON

JSONObject json = JSONObject.parseObject(JSON.toJSONString(map));
JSON 지도 돌리 기

Map jsonToMap = JSONObject.parseObject(jsonObject.toJSONString()); 
2.여러 JSON 을 하나 로 합치 기

JSONObject totalJSON = new JSONObject();
totalJSON.putAll(json1);
totalJSON.putAll(json2);
4.567914.JSONobject 입 니 다.최종 코드 형식:

{
 json1:{},
 json2:{}
}
3.JSON 분할
서로 다른 수 요 는 서로 다른 방법 이 있 는데,다음은 두 가지 해결 방향 을 제공한다.
4
  • 두 개 이상 의 JSON 을 정의 하여 put 와 reove 를 진행 합 니 다.예 를 들 어 어떤 필드 가 필요 한 지 명확 할 때 하나의 배열 을 정의 하여 key 정 보 를 저장 할 수 있 습 니 다.저장 하고 삭제 할 때 배열 만 옮 겨 다 니 면 됩 니 다
  • JSON 을 옮 겨 다 니 며 key 를 가 져 오고 value 를 다시 put 합 니 다
  • 4.JSON 옮 겨 다 니 기
    키 와 value 를 가 져 오 는 도구 클래스 를 정의 합 니 다.
    
    if(object instanceof JSONObject) {
      JSONObject jsonObject = (JSONObject) object;
      for (Map.Entry<String, Object> entry: jsonObject.entrySet()) {
        Object o = entry.getValue();
        if(o instanceof String) {
          System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());
        } else {
          jsonLoop(o);
        }
      }
    }
    if(object instanceof JSONArray) {
      JSONArray jsonArray = (JSONArray) object;
      for(int i = 0; i < jsonArray.size(); i ++) {
        jsonLoop(jsonArray.get(i));
      }
    }
    JSONARray 가 옮 겨 다 니 는 방식 이 여러 가지 가 있어 요.
    for
    
    for(int i = 0; i < jsonArray.size(); i++){
    	JSONObject json = jsonArray.getJSONObject(i);
    }
    foreach
    
    jsonArray.forEach(o -> {
      if (o instanceof JSONObject) {
        JSONObject json = (JSONObject) o;
      }
    Iterator
    
    JSONObject jsonObject = new JSONObject(jsonString);
    Iterator iterator = jsonObject.keys();
    while(iterator.hasNext()){
    	key = (String) iterator.next();
    	value = jsonObject.getString(key);
    }
    5.JSONPath
    그리고 아주 좋 은 도 구 를 추천 합 니 다:JSONPath.
    JSONpath 는 주어진 JSON 의 일부 내용 을 추출 하 는 간단 한 방법 으로 정규 표현 식 과 유사 하 게 사용 합 니 다.GitHub 주소:https://github.com/json-path/JsonPath
    사용 방법 이 자신 이 사용 한 사례 pom 파일 의존 도 를 간단하게 설명 합 니 다.
    
    <dependency>
      <groupId>com.jayway.jsonpath</groupId>
      <artifactId>json-path</artifactId>
      <version>2.2.0</version>
    </dependency>
    JSonPath 표현 식 은 항상 XPath 표현 식 과 결합 하여 XML 문서 와 같은 방식 으로 JSON 구 조 를 참조 합 니 다.
    JSonPath 의'루트 멤버 대상'은 항상$라 고 부 릅 니 다.대상 이 든 배열 이 든.
    JSonPath 표현 식 은 점 표현법 을 사용 할 수 있 습 니 다.
    JSONpath 문법 요소 와 대응 하 는 XPath 요소 의 대 비 를 설명 하 는 표 가 있 습 니 다.

    공식 사례:
     
     
    자세 한 내용 은 공식 해설 을 참조 하 세 요.다음은 제 가 쓴 사례 입 니 다.
    
    JSONArray jsonArray = JSONPath.read("$.ePrint.common..label");
    json1,json2JSON 형식 은 변 하지 않 기 때문에 알 리 바 바 의 JSONARray 로 변환 할 수 있 습 니 다.
    
    com.alibaba.fastjson.JSONArray jsonArr = JSON.parse(jsonArray.toString());
    여기 서도 주의해 야 할 것 은 제 가 밟 은 구덩이 입 니 다.JSONobject 아래 에 같은 이름 의 JSONARray 가 여러 개 있 으 면 돌아 오 는[]도 여러 개 입 니 다.가 져 온 데 이 터 를 먼저 옮 겨 다 니 며 JSON 블록 을 가 져 옵 니 다.
    자바 에서 JSON 의 다양한 사용 방식 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 에서 JSON 의 사용 방식 에 관 한 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기