如何解析这个简单的JSON

时间:2018-06-27 23:02:20

标签: java android

这是json

{
    "test": {
        "val": "hello"
    }
}

这是我使用的功能

public static String loadJSONFromAsset(Context context) {
    String json = null;
    try {
        InputStream is = context.getAssets().open("convert.json");

        int size = is.available();

        byte[] buffer = new byte[size];

        is.read(buffer);
        JSONObject obj = new JSONObject();


        String value = obj.getJSONObject("test").optString("val");


        Log.e("test", "test: "+value);

        is.close();

        json = new String(buffer, "UTF-8");


    } catch (IOException ex) {
        ex.printStackTrace();
        Log.e("Nope", "Nope");
        return null;
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return json;

}

错误

06-28 16:12:22.210 6876-6876/com.currencyconverter W/System.err: org.json.JSONException: No value for test

它说测试中没有价值,我知道测试中没有价值,但是为什么它没有获得val的价值,我什至试图像这样使json更简单

    {

        "val": "hello"
}

但同样,val中没有值

1 个答案:

答案 0 :(得分:0)

JSONArray USD_AED = (JSONArray) jsonObject.get("USD_AED");

应该像

JSONObject USD_AED = (Object) jsonObject.get("USD_AED");