-1
サードパーティAPIからJSONとして応答を受け取るJavaアプリケーションを作成しています。次のようにJSONは次のようになります。JSONエラーを解析するGson?
{"simulation": true,
"transaction": {
"time": "2015-09-08 17:58:58",
"id": "123-123-123-123",
"state": "1",
"error": "Some error text, e.g. Incorrect mobile number",
"service": {
"id": "du-mt",
"name": "Du More Time"
},
"account": "971550000000",
"amount": "5",
"amount_currency": "AED",
"price": "4.85",
"price_currency": "AED"
},
"info":
{"reference": "1234567890",
"number": "123412341234",
"serial": "1234567890"
},
"receipt": {
"header": "Du",
"subheader": "More Time",
"info": "Merchant: GULFBOX, Terminal ID: 123",
"instruction": "User instruction: ...",
"promo": "",
"footer":"Customer Service: 800 4269"
}
}
は私が
public class GulfBox {
public String simulation;
public Transaction transactions;
public Info info;
public Receipt receipt;
public String getSimulation() {
return simulation;
}
}
public class Transaction {
public String time;
public String id;
public String state;
public String error;
public String account;
public String amount;
public Service service;
public String amount_currency;
public String price;
public String price_currency;
public String getTime() {
return time;
}
public String getTransactionID() {
return id;
}
public String getState() {
return state;
}
public String getError() {
return error;
}
public String getAccount() {
return account;
}
public String getAmount() {
return amount;
}
public String getAmountCurrency() {
return amount_currency;
}
public String getPrice() {
return price;
}
public String getPriceCurrency() {
return price_currency;
}
}
public class Service {
public String id;
public String name;
public String getServiceId() {
return id;
}
public String getServiceName() {
return name;
}
}
のようないくつかのゲッタークラスを作成し、私は実現される機能を呼び出すことを試みた:私はGET最初シミュレーションのための
String json = "{\"simulation\": true,\"transaction\": {\"time\": \"2015-09-08 17:58:58\",\"id\": \"123-123-123-123\",\"state\": \"1\",\"error\": \"Some error text, e.g. Incorrect mobile number\",\"service\": {\"id\": \"du-mt\",\"name\": \"Du More Time\"},\"account\": \"971550000000\",\"amount\": \"5\",\"amount_currency\": \"AED\",\"price\": \"4.85\",\"price_currency\": \"AED\"},\"info\": {\"reference\": \"1234567890\",\"number\": \"123412341234\",\"serial\": \"1234567890\"},\"receipt\": {\"header\": \"Du\",\"subheader\": \"More Time\",\"info\": \"Merchant: GULFBOX, Terminal ID: 123\",\"instruction\": \"User instruction: ...\",\"promo\": \"\",\"footer\":\"Customer Service: 800 4269\"}}";
System.out.println(json);
GulfBox details= new Gson().fromJson(json, GulfBox.class);
transactionsID = "Success";
System.out.println("SIMULATION : "+details.getSimulation().toString()); //Check If simulation true or False
System.out.println("transaction : "+details.transactions.getTime());//Transaction time
を正しい値、、しかし、トランザクション時間はnull pinter例外です!任意のヘルプここに
JSONが有効ですか?あなたのJSONが有効なJSONであることを確認する必要があるGsonやその他の解析テクニックのために、 "}"の直前にコンマがあるので、フォーマットが奇妙です。 –
あなたの失敗したコードを表示し、失敗したことを教えてください – mlecz
あなたの指定されたJSONが無効です。 JSON文字列を再確認してください –