Android将服务器传来的json解析为数组变量,通过java文件simpleadapter输出到页面。

求点符合这个思想的资料、!网上又多又杂,无奈了。
2025-03-23 11:32:18
推荐回答(3个)
回答1:

我做了一个代码如下:
public class MainActivity extends Activity {

ListView listview;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(R.id.listview);
String temp = "[{\"aa\":\"1\",\"bb\":\"2\"},{\"aa\":\"3\",\"bb\":\"4\"},{\"aa\":\"5\",\"bb\":\"6\"}]";
List> data = getList(temp);
SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item, new String[]{"aa","bb"}, new int[]{R.id.aa,R.id.bb});
listview.setAdapter(adapter);
}

public Map getMap(String jsonString) {
JSONObject jsonObject;
try {
jsonObject = new JSONObject(jsonString);
@SuppressWarnings("unchecked")
Iterator keyIter = jsonObject.keys();
String key;
Object value;
Map valueMap = new HashMap();
while (keyIter.hasNext()) {
key = (String) keyIter.next();
value = jsonObject.get(key);
valueMap.put(key, value);
}
return valueMap;
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}

public List> getList(String jsonString) {
List> list = null;
try {
JSONArray jsonArray = new JSONArray(jsonString);
JSONObject jsonObject;
list = new ArrayList>();
for (int i = 0; i < jsonArray.length(); i++) {
jsonObject = jsonArray.getJSONObject(i);
list.add(getMap(jsonObject.toString()));
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}

item的布局文件


    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

            android:id="@+id/aa"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp" />

            android:id="@+id/bb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="100dp"
        android:textColor="#f00"
        android:textSize="30sp" />


    最后的界面效果:

    

回答2:

你的 意思是获取JSON数据之后显示到listview中?

回答3:

gson包,可以解析json字符串。google的。