1

私のAndroidアプリケーションでは、Google通貨コンバーターを使用したいと思います。Googleの通貨コンバーターの出力は次のようなjson形式になります。

{lhs: "1 British pound",rhs: "1.6058 U.S. dollars",error: "",icc: true}

Androidアプリケーションで次のコードスタブを使用して、jsonから出力を取得しました

JSONArray jArray = new JSONArray(jsonResult);
JSONObject json_data=null;
String currency01 = "";
String currency02 = "";
for(int i=0;i<jArray.length();i++){
    json_data = jArray.getJSONObject(i);
    c1 = json_data.getString("lhs");
    c2 =json_data.getString("rhs");
    tv.append(c1+"\n\n");
    tv.append(c2);
}

ただし、これによってエラーが発生することはありません。Andoidでjsonの上を読む方法がここで立ち往生しているのを手伝ってください。

前もって感謝します。

4

3 に答える 3

6

オンラインJSONバリデーターhttp://jsonlint.com/を使用することをお勧めします

これを使用して、JSONの問題を特定できます。

以下のスクリーンショットを見ることができます。私はあなたのJSON値を取得し、エラーを表示するものを検証しました。 json検証エラー

そして、これは正常に検証されたJSONを示す別のスクリーンショットです json検証の成功

lhs、rhsなどに二重引用符で囲む必要があります。

于 2012-10-19T06:03:45.157 に答える
1

URL http://www.google.com/ig/calculator?hl=en&q=1GBP=?USDを使用してテストしたjsonオブジェクトの配列を取得していないため、これを使用してください

String currency01 = "";
String currency02 = "";
JSONObject jObj = new JSONObject(jsonResult);
   currency01  = jObj.optString("lhs");
    currency02 =jObj .optString("rhs");
    tv.append(currency01 +"\n\n");
tv.append(currency02 "\n\n");
于 2012-10-19T06:02:20.267 に答える
0
JSONArray jArray = new JSONArray(jsonResult);
            JSONObject json_data=null;
            String c1 = "";
            String c2 = "";
            for(int i=0;i<jArray.length();i++){
                    json_data = jArray.getJSONObject(i);
                    c1 = json_data.getString("lhs");
                    c2 =json_data.getString("rhs");
                    tv.append(c1+"\n\n");
                    tv.append(c2"\n\n");
            }
于 2012-10-19T05:55:57.100 に答える