[英]JSON Parsing of JSON Objects in android
我有一个JSON,
{
"Area1": "areacode1",
"Area2": "areacode2",
"Area3" : "areacode3"
}
我想解析json并将其“区域”迭代为autocompletetextview,我的代码是,
//从本地文件读取JSON
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("arealist.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
//解析和迭代json ...
try {
JSONObject obj = new JSONObject(loadJSONFromAsset());
Iterator<String> keys= obj.keys();
while (keys.hasNext())
{
String keyValue = (String)keys.next();
String valueString = obj.getString(keyValue);
Log.d("Details-->",valueString);
}
} catch (JSONException e) {
e.printStackTrace();
}
我收到“类型不匹配:无法将JSONObject转换为JSONArray”的错误,我想知道如何将JSONObject转换为字符串并迭代到List。我是android的新手,所以很困惑如何继续进行进一步的工作,谢谢预先。
尝试像这样读取arealist.json
InputStream inputStream = getContext().getAssets().open("arealist.json");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null){
sb.append(line).append("\n");
}
//parse JSON and store it in the list
String jsonString = sb.toString();
并在JSONobject中使用此jsonString
通过以下代码调试给定的json后:
String json = "{\n" +
"\n" +
" \"Area1\": \"areacode1\",\n" +
" \"Area2\": \"areacode2\",\n" +
" \"Area3\" : \"areacode3\"\n" +
"\n" +
" }";
try {
JSONObject obj = new JSONObject(json);
Iterator<String> keys= obj.keys();
while (keys.hasNext())
{
String keyValue = (String)keys.next();
String valueString = obj.getString(keyValue);
Log.d("Details-->",valueString);
}
} catch (JSONException e) {
e.printStackTrace();
}
我意识到您阅读哪个json的方式没有任何问题。 问题是从loadJSONFromAsset
返回的字符串。 您必须更正该方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.