2016-12-01 9 views
1

私はMediaListというクラスを持っています。このクラスをJSON-Stringとその逆に値で解析したいと思います。JSON:Object to JsonString - JsonString to X.class Object

public class KeywordList { 
     private List<Keyword> keywords = new ArrayList<>(); 
} 

そして、ここでJSON-文字列:

{ 
    "keywords": [ 
     { 
      "id": 12, 
      "name": "Thesis", 
      "mediaCount": 31 
     }, ... 
    ] 
} 

私はグーグルのlib gsonを使用していますが、私はちょうど私にはないので、JAX-RSに標準のJavaのバージョンを使用したいですサードパーティのツールを自分のプロジェクトに入れたい

答えて

3

残念ながら、外部ライブラリを使用する必要があるため、デフォルトではJavaではこれができません。

これはJava 9で変更されることがありますが、変更を見てもJSONライブラリでのビルドには何も気づいていません。私は聞いたが、私はそれを見たことがありませんでした。

あなたは、Javaのhereすべての新機能を見ることができます9.

あなたは、それは我々が持って存在するようになるまで、チュートリアル here

とともに、必要があるかもしれませんどのようなライブラリを見つけるでしょう

驚くべきことJacksonライブラリ:

1.1 JavaオブジェクトをJSON、 writeValue(...)Javaオブジェクトへ

ObjectMapper mapper = new ObjectMapper(); 
Staff obj = new Staff(); 

//Object to JSON in file 
mapper.writeValue(new File("c:\\file.json"), obj); 

//Object to JSON in String 
String jsonInString = mapper.writeValueAsString(obj); 

1.2変換のJSON、readValue(...)は

Staffがある
ObjectMapper mapper = new ObjectMapper(); 
String jsonInString = "{'name' : 'mkyong'}"; 

//JSON from file to Object 
Staff obj = mapper.readValue(new File("c:\\file.json"), Staff.class); 

//JSON from URL to Object 
Staff obj = mapper.readValue(new URL("http://mkyong.com/api/staff.json"), Staff.class); 

//JSON from String to Object 
Staff obj = mapper.readValue(jsonInString, Staff.class); 

import java.math.BigDecimal; import java.util.List; 
public class Staff { 
    private String name; 
    private int age; 
    private String position; 
    private BigDecimal salary; 
    private List<String> skills; 
    //getters and setters 
} 

完全なチュートリアルhere

+1

Jackson libは素晴らしいです。間違いなく私の好みのJSONライブラリ –

1

JDK自体にはJAX-RS標準の実装が含まれていないため、いずれの場合でもサードパーティのライブラリを使用する必要があります。

関連する問題