1

在我的 Android 应用程序中,我想使用谷歌货币转换器。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

使用它,因为你没有得到数组它的 json 对象我使用 url http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD测试过

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 回答