[英]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.