2016-05-26 28 views
-3

JSONとRESTを初めて使用しました。私は以下のように残りのAPIを呼び出すRESTとJSON - jacksonを使用して文字列をJSON配列に変換する

[{ 
    "Supervisor_UniqueName": "adavis", 
    "Active": "true", 
    "DefaultCurrency_UniqueName": "USD", 
    "arches_type": "x-zensar/primary", 
    "Groups": "", 
    "TimeZoneID": "US/Pacific-New", 
    "UniqueName": "!!pl-10958-611879240", 
    "EmailAddress": "[email protected]", 
    "LocaleID_UniqueName": "en_US", 
    "Name": "!!pl-10958-611879240" 
}, { 
    "Supervisor_UniqueName": "adavis", 
    "Active": "true", 
    "DefaultCurrency_UniqueName": "USD", 
    "arches_type": "x-zensar/primary", 
    "Groups": "", 
    "TimeZoneID": "US/Pacific-New", 
    "UniqueName": "!!pl-10958-789764779", 
    "EmailAddress": "[email protected]", 
    "LocaleID_UniqueName": "en_US", 
    "Name": "!!pl-10958-789764779" 
}, { 
    "Supervisor_UniqueName": "adavis", 
    "Active": "true", 
    "DefaultCurrency_UniqueName": "USD", 
    "arches_type": "x-zensar/primary", 
    "Groups": "Report User", 
    "TimeZoneID": "US/Pacific-New", 
    "UniqueName": "105838945", 
    "EmailAddress": "[email protected]", 
    "LocaleID_UniqueName": "en_US", 
    "Name": "105838945" 
}, { 
    "Supervisor_UniqueName": "adavis", 
    "Active": "true", 
    "DefaultCurrency_UniqueName": "USD", 
    "arches_type": "x-zensar/primary", 
    "Groups": "Report User, Report Manager, Report Administrator", 
    "TimeZoneID": "US/Pacific-New", 
    "UniqueName": "112352755", 
    "EmailAddress": "[email protected]", 
    "LocaleID_UniqueName": "en_US", 
    "Name": "112352755" 
}] 

restTemplateのタイプが RestTemplate

ある

final ResponseEntity<String> responseEntity = restTemplate.getForEntity(resourceUrl , String.class); 

私が変換したい私はテストでこのような文字列を返し、残りのAPIを働いていますそれらをJSON配列に変換し、各Jsonオブジェクトにアクセスし、それぞれのフィールドと値を取得します。

ジャクソンを使用しても可能ですか?

+0

あなたは試してみました何

は、これは(の一部)あなたのJSONです何を手に入れましたか、何を期待していますか、どのエラーが出ていますか? – ssube

+0

申し訳ありません..私はより多くの研究を行い、この記事は私の問題を解決しました http://stackoverflow.com/questions/5983932/converting-from-jsonarray-to-string-then-back-again – Sajeev

答えて

0

Jacksonを使用できます。あなたのMyClass

public MyClass { 

    @JsonProperty("Supervisor_UniqueName") 
    private String superVisorUniqueName; 

    @JsonProperty("Active") 
    private String active; 

    // etc 

    // getters and setters  
} 

地図JSON::

[ 
    { 
     "Supervisor_UniqueName":"adavis", 
     "Active":"true", 
     "DefaultCurrency_UniqueName":"USD", 
     "arches_type":"x-zensar/primary", 
     "Groups":"", 
     "TimeZoneID":"US/Pacific-New", 
     "UniqueName":"!!pl-10958-611879240", 
     "EmailAddress":"[email protected]", 
     "LocaleID_UniqueName":"en_US", 
     "Name":"!!pl-10958-611879240" 
    }, 
    { 
     "Supervisor_UniqueName":"adavis", 
     "Active":"true", 
     "DefaultCurrency_UniqueName":"USD", 
     "arches_type":"x-zensar/primary", 
     "Groups":"", 
     "TimeZoneID":"US/Pacific-New", 
     "UniqueName":"!!pl-10958-789764779", 
     "EmailAddress":"[email protected]", 
     "LocaleID_UniqueName":"en_US", 
     "Name":"!!pl-10958-789764779" 
    } 
] 

ちょうどあなたのアイデアを与えるために:

ObjectMapper mapper = new ObjectMapper(); 
List<MyClass> obj = mapper.readValue(json, new TypeReference<List<MyClass>>() {}); 
+0

お返事ありがとうございます。私はマッパクラスを書くのは簡単ではないので、単純に書くのではないと思います。現在、APIを使用してユーザーデータを取得しています。残りのAPIは、さまざまな種類のマスタデータ(サプライヤ、製品、商品コード、国など)を返します。私はそれぞれPOJOを書くことができないのではないかと心配しています。それは過労です。どう思いますか ? – Sajeev

関連する問題