这是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
中没有值
答案 0 :(得分:0)
JSONArray USD_AED = (JSONArray) jsonObject.get("USD_AED");
应该像
JSONObject USD_AED = (Object) jsonObject.get("USD_AED");