자바 에서 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
키 와 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,json2
JSON 형식 은 변 하지 않 기 때문에 알 리 바 바 의 JSONARray 로 변환 할 수 있 습 니 다.
com.alibaba.fastjson.JSONArray jsonArr = JSON.parse(jsonArray.toString());
여기 서도 주의해 야 할 것 은 제 가 밟 은 구덩이 입 니 다.JSONobject 아래 에 같은 이름 의 JSONARray 가 여러 개 있 으 면 돌아 오 는[]도 여러 개 입 니 다.가 져 온 데 이 터 를 먼저 옮 겨 다 니 며 JSON 블록 을 가 져 옵 니 다.자바 에서 JSON 의 다양한 사용 방식 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 에서 JSON 의 사용 방식 에 관 한 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.