WebサービスにJavaクライアントを作成していて、レスポンスJSONオブジェクトを解析してMap<String,String>
にする必要があります。JavaでこのJSonコンテンツを解析するための最も簡単な方法が必要です
私はJSON形式を制御することはできません。比較的古い既存のアプリにクライアントプラグインするのはメモリホッグで、何百もの他のJavaライブラリ依存関係があります。
私の懸念事項は、クライアントの外部依存関係をできるだけ自由にすることと、メモリの使用量やガベージコレクションを避けるために、最小限のメモリ占有量があることです。
私は私がGson
またはJackson
でこれを行うので、私はJSONを使ったことがない(これらの実行時制約を考慮し最適なアプローチへと入力を探していますすることができます。シンプルで知っているとどのように私は素早く閲覧には表示されませんでした複雑な型を扱う)。
JSONはこのように見えます。私は、属性のセクション名と値のペアについて心配する必要があります。残りの部分は無視することができます。
{
"responseInfo": {
"responseMsg": "Success",
"timeStamp": "***",
"transactionId": "***"
},
"callerId": "****",
"locale": "en-US",
"userId": "***",
"attributes":[
{
"attributeName": "AN",
"attributeDescription": "Account Number",
"attributeValue": "*****"
},
{
"attributeName": "EA",
"attributeDescription": "Email Address",
"attributeValue": "****@****"
},
{
"attributeName": "SOI",
"attributeDescription": "someotherinfo",
"attributeValue": "****"
}
}
ありがとうございました!
json.orgを使うとどうなりますか? https://mvnrepository.com/artifact/org.json/json/20160810 – alayor
私はJSONobjectを使用してJSONを読み込み、セッターを使ってDAOデータアクセスオブジェクトを作成して、Javaアプリケーションに情報を保存することもできます。それはJSONオブジェクトとして。 http://docs.oracle.com/javaee/7/api/javax/json/JsonObject.html getJsonObject( "Key")を使用すると、値を返すことができます。 – JesseBoyd
あなたは書いています**私はJSONフォーマットを支配していません**だから、jsonが受け取ったフォーマットはどのフォーマットでも構いませんし、あなたが問題にしたものは静的フォーマットではありませんか? –