Java에서 목록을 Json으로 변환하는 방법
Java에서 일반 목록을 json으로 변환하는 방법.나는 이런 수업이 있다.
public class Output
{
public int Keyname { get; set; }
public Object outputvalue{ get; set; } //outvalue may be even a object collection
}
List<Output> outputList = new List<Output>();
자바에서 outputList를 json으로 변환하고 싶습니다.변환 후 클라이언트로 보내드리겠습니다.
그러기 위해서는 GSON 라이브러리를 사용합니다.여기 샘플 코드가 있습니다.
List<String> foo = new ArrayList<String>();
foo.add("A");
foo.add("B");
foo.add("C");
String json = new Gson().toJson(foo );
여기 Gson에 대한 maven 의존이 있습니다.
<dependencies>
<!-- Gson: Java to Json conversion -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
아니면 여기서 직접 항아리를 다운로드해서 수업 경로에 넣을 수도 있습니다.
http://code.google.com/p/google-gson/downloads/detail?name=gson-1.0.jar&can=4&q=
클라이언트에 Json을 보내려면 spring 또는 simple servlet을 사용하여 이 코드를 추가합니다.
response.getWriter().write(json);
이를 위해서는 외부 라이브러리가 필요합니다.
JSONArray jsonA = JSONArray.fromObject(mybeanList);
System.out.println(jsonA);
Google GSON은 이러한 라이브러리 중 하나입니다.
Java 객체 컬렉션을 JSON 문자열로 변환하는 예를 보려면 여기를 참조하십시오.
Jackson은 객체를 JSON으로 변환하거나 객체를 JSON으로 변환하기 위해 매우 유용하고 가벼운 API를 제공합니다.작업을 수행하려면 아래의 예제 코드를 찾으십시오.
List<Output> outputList = new ArrayList<Output>();
public static void main(String[] args) {
try {
Output output = new Output(1,"2342");
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = objectMapper.writeValueAsString(output);
System.out.println(jsonString);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
Jackson API에는 다른 많은 기능과 훌륭한 문서가 있습니다.https://www.journaldev.com/2324/jackson-json-java-parser-api-example-tutorial과 같은 링크를 참조할 수 있습니다.
프로젝트에 포함할 의존관계는 다음과 같습니다.
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.1</version>
</dependency>
이것을 시험해 보세요.
public void test(){
// net.sf.json.JSONObject, net.sf.json.JSONArray
List objList = new ArrayList();
objList.add("obj1");
objList.add("obj2");
objList.add("obj3");
HashMap objMap = new HashMap();
objMap.put("key1", "value1");
objMap.put("key2", "value2");
objMap.put("key3", "value3");
System.out.println("JSONArray :: "+(JSONArray)JSONSerializer.toJSON(objList));
System.out.println("JSONObject :: "+(JSONObject)JSONSerializer.toJSON(objMap));
}
API는 여기서 찾을 수 있습니다.
구글 gson 라이브러리를 보세요.이것에 대처하기 위한 풍부한 api를 제공하고, 사용하기 매우 간단합니다.
Java2에서 java-json.jar를 다운로드하여 JSONAray 컨스트럭터를 사용합니다.
List myList = new ArrayList<>();
JSONArray jsonArray = new JSONArray(myList);
System.out.println(jsonArray);
SpringMVC를 사용하면 심플하고 구조적인 술을 마실 수 있습니다.정말 단순해요.
@RequestMapping("/carlist.json")
public @ResponseBody List<String> getCarList() {
return carService.getAllCars();
}
레퍼런스 및 크레딧 : https://github.com/xvitcoder/spring-mvc-angularjs
출력은 setPrettyPrinting 및 disableHtml과 함께 GSONBuilder를 사용합니다.
String json = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().
create().toJson(outputList );
fileOut.println(json);
언급URL : https://stackoverflow.com/questions/14228912/how-to-convert-list-to-json-in-java
'programing' 카테고리의 다른 글
PHP json_decode()에서 잘못된 json 데이터를 감지하시겠습니까? (0) | 2023.03.14 |
---|---|
Ajax를 통한 체크아웃 시 Woocommerce 업데이트 배송 방법 (0) | 2023.03.14 |
W3C 인증에 신경을 써야 합니까? (0) | 2023.03.09 |
Respon on Click - 매개 변수를 사용하여 이벤트 전달 (0) | 2023.03.09 |
WordPress 커스텀 페이지에서 "TypeError: $ is not a function" 오류를 수정하는 방법 (0) | 2023.03.09 |