2016-04-01 3 views
1

私はJSONObjectを持っています。これは以下のようになり、クラスMarketsにはすべてのフィールドが含まれています。私はJSONObject要素をMarketsというオブジェクトに作成します。JSONObjectの指定されたオブジェクト

例:、次にJSONObjectからmarketsに要素を入れて、markets.getInstrumentName()を取得したいと考えています。これどうやってするの ?

このようにを試してみますが、これはMarkets markets = gson2.fromJson(jsonObject, Markets.class);のようですが、タイプが異なり、間違った方法です。

JSONObject

{ 
    "map": { 
    "netChange": -81.0, 
    "instrumentType": "INDICES", 
    "percentageChange": -1.31, 
    "scalingFactor": 1, 
    "epic": "IX.D.FTSE.DAILY.IP", 
    "updateTime": "00:02:48", 
    "updateTimeUTC": "23:02:48", 
    "offer": 6095.8, 
    "instrumentName": "FTSE 100", 
    "high": 6188.3, 
    "low": 6080.8, 
    "streamingPricesAvailable": true, 
    "marketStatus": "TRADEABLE", 
    "delayTime": 0, 
    "expiry": "DFB", 
    "bid": 6094.8 
    } 
} 

Markets:私はGson 2.4を使用してい

yourObject = new Gson().fromJson(yourJSONObject.toString(), YourObject.class); 

:あなたはJSONオブジェクトに変換したいとき

class Markets { 
    private double bid; 
    private double offer; 
    private int delayTime; 
    private String epic; 
    private String expiry; 
    private double high; 
    private double low; 
    private String instrumentName; 
    private String instrumentType; 
    private String marketStatus; 
    private double netChange; 
    private double percentageChange; 
    private int scalingFactor; 
    private boolean streamingPricesAvailable; 
    private String updateTime; 
    private String updateTimeUTC; 

    //getters and setters 
} 
+0

あなたは[空想のマニュアル]を読みました(https://sites.google.com/site/gson/gson-user-guide)?例がいっぱいです。 –

+0

私は基本的な文書を読んでいます。 – czArek

+0

難しい場合は、1つのタイプのMarketsと名前付きマップを持つMapクラスが必要でしょう –

答えて

3

使用ジャクソンライブラリ

JSONObject jsonObject = //... 
ObjectMapper mapper = new ObjectMapper(); 
Markets markets = mapper.readValue(jsonObject.toString(), Markets.class); 
+0

'Gson'を使って同じものが必要です – czArek

+1

これを試した? 'マーケット市場=新しいGson()。fromJson(jsonObject.toString()、Markets.class); ' – Wizbot

+0

はい、私は' 'toString()'が必要だった 'jsonObject.toString()'を書くのを忘れていました;) – czArek

2

ここではサンプルコードです。それはうまく動作します。

compile 'com.google.code.gson:gson:2.4' 
関連する問題