2016-04-01 23 views
1

Aşağıda gösterildiği gibi bulunan ve Markets sınıfı tüm alanları içeren JSONObject var. Markets'un oluşturulmuş nesnesine JSONObject öğelerini yerleştirmek istiyorum.Belirtilen nesne JSONObject

Örnek: Markets markets = new Markets(), daha sonra JSONObject öğelerini markets'a koymalı ve markets.getInstrumentName() almak istiyorum. Bunu nasıl yapabilirim ?

Gson kullanmayı deneyin, bunun gibi Markets markets = gson2.fromJson(jsonObject, Markets.class); ama farklı türleri vardır ve yanlış yoldur.

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 kullanıyorum

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

: JSON nesne dönüştürmek istediğiniz zaman

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

sen [fantezi kılavuzu] okudun (https://sites.google.com/site/gson/gson-user-guide)? Örneklerle dolu. –

+0

Temel belgeleri okuyorum. – czArek

+0

Muhtemelen bir Pazar türü ve bir harita ile bir "Harita" sınıfına ihtiyacınız var, eğer bu sizin zorluğunuz buysa –

cevap

3

kullanma Jackson kütüphane

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

"Gson" – czArek

+1

'u kullanarak aynı şeye ihtiyacınız var mı Bunu denediniz mi? 'Pazarlar marketleri = yeni Gson(). FromJson (jsonObject.toString(), Markets.class); – Wizbot

+0

Evet işe yaradı, yazmayı unuttum jsonObject.toString() '' .toString() 'gerekliydi;) – czArek

2

İşte örnek kod olduğunu. ve iyi çalışıyor.

compile 'com.google.code.gson:gson:2.4' 
İlgili konular