1

このjsonをどのように解析すればよいですか?

{"label":"KLM/AirFrance"}

私は試します

jsonObject.getString("label")

しかし、エラーがあります:

at org.json.JSON.typeMismatch

何か案は?ありがとう。

コード:

ArrayList<Gate> gates = new ArrayList<Gate>();
JSONArray jGates = object.getJSONArray("gates_info");
int gatesLength = jGates.length();
for (int i=0; i<gatesLength; i++) {
    Gate gate = new Gate();
    JSONObject jGate = jGates.getJSONObject(i);
    gate.setId(jGate.getInt("id"));
    gate.setLabel(jGate.getString("label"));
    gate.setCurrency_code(jGate.getString("currency_code"));
    gates.add(gate);
}

応答の一部:

"gates_info":[{"id":48,"label":"KLM/AirFrance","payment_methods":
["card"],"currency_code":"usd","is_airline":true},
{"id":1,"label":"Nabortu","payment_methods":
["bank","yandex_money","web_money","terminal","card","svyaznoy","euroset"],
"currency_code":"rub","is_airline":false},    
{"id":3,"label":"anywayanyday.com","payment_methods": 
["card","euroset","svyaznoy"],"currency_code":"rub","is_airline":false},
{"id":7,"label":"Ozon.travel","payment_methods":
["cash","yandex_money","web_money","terminal","card","elexnet","contact","euroset"],
"currency_code":"rub","is_airline":false}, 
{"id":8,"label":"tickets.ru","payment_methods":
["card","web_money"],"currency_code":"rub","is_airline":false}
4

2 に答える 2

1

スラッシュをエスケープしてみてください\\/。バックスラッシュは、それ自体をエスケープするために 2 回書き込まれます。つまり、インタープリターがそれを「実際の」バックスラッシュとして扱うようにします。

私は JSON でこれを自分で試したことはありませんが、通常、このような問題はこの種のソリューションを使用して解決されます。

于 2012-08-26T14:00:11.727 に答える
0

ここで私はこの問題を抱えていました (ただし、エスケープ文字とは関係ありません。Json の使用方法を知る必要があるだけです。addProperty 関数を使用する必要があります。これは、これをコピーして取得できるはずの例です。

JsonObject temp = new JsonObject();
temp.addProperty(tagName,stringData);
于 2012-08-26T18:31:15.273 に答える