解析 Json 并在 ListView 中打印
Parse Json and Print in ListView
我这里有一个JSONLinkJSON LINK
如何解析它以仅获得许多名称中的一个标签,但该标签必须包含其节点的每个 ID。例如,这里的一个标签是 Social Emotional,它的 different-2 有超过 10 次是.但我只想 select 它的第一个标签,该标签应包含其所有 ID 和匹配名称的描述。请帮我 。我无法解析它。JSON 的屏幕截图在这里 SCREENSHOT IMAGE
我做的就在这里..
protected void onPostExecute(JSONObject json) {
pDialog.dismiss();
try {
// Getting JSON Array from URL
android = json.getJSONArray(TAG_OS);
for(int i = 0; i < android.length(); i++){
JSONObject c = android.getJSONObject(i);
c = c.getJSONObject("LearningStandards");
// Storing JSON item in a Variable
String ver = c.getString(TAG_VER);
String name = c.getString(TAG_NAME);
//String api = c.getString(TAG_API);
// Adding value HashMap key => value
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_VER, ver);
map.put(TAG_NAME, name);
//map.put(TAG_API, api);
oslist.add(map);
这是适合您的代码。你可以像这个解析步骤一样获取值。
String strJSONData = networkManager.doPost("http://54.152.108.131/iphone111/getLearningStandards");
JSONArray objJson = new JSONArray(strJSONData);
System.out.println("AppUserLogin:"+objJson);
// Parsing json
if(arrJson.length()>0)
{
for (int i = 0; i < objJson.length(); i++) {
try {
JSONObject objprod = arrJson.getJSONObject(i);
HashMap<String, String> MaplistTemp = new HashMap<String, String>();
MaplistTemp.put("replyCode",
objprod.getString("replyCode"));
MaplistTemp.put("replyCode",
objprod.getString("replyCode"));
JSONArray objproduct_var = new JSONArray(objprod.getString("LearningStandards"));
if ((objproduct_var.length()) > 0) {
for (int k = 0; k < objproduct_var.length(); k++) {
JSONObject objprodvar = objproduct_var
.getJSONObject(k);
MaplistTemp
.put("1",
objprodvar
.getString("1"));
MaplistTemp
.put("2",
objprodvar
.getString("2"));
MaplistTemp
.put("3",
objprodvar
.getString("3"));
MaplistTemp
.put("4",
objprodvar
.getString("4"));
}
}
// sub_categorys_details.add(sub_cat_det);
medpostList.add(MaplistTemp);// adding to final hashmap
} catch (JSONException e) {
e.printStackTrace();
}
}
}
您的 url 有另一个数组,因此在 "k" for 循环中再次执行此操作并创建另一个 for 循环 j 并获取值。
注意dopost方法return类型是String。如果你有 json 对象然后相应地使用它。
我这里有一个JSONLinkJSON LINK
如何解析它以仅获得许多名称中的一个标签,但该标签必须包含其节点的每个 ID。例如,这里的一个标签是 Social Emotional,它的 different-2 有超过 10 次是.但我只想 select 它的第一个标签,该标签应包含其所有 ID 和匹配名称的描述。请帮我 。我无法解析它。JSON 的屏幕截图在这里 SCREENSHOT IMAGE 我做的就在这里..
protected void onPostExecute(JSONObject json) {
pDialog.dismiss();
try {
// Getting JSON Array from URL
android = json.getJSONArray(TAG_OS);
for(int i = 0; i < android.length(); i++){
JSONObject c = android.getJSONObject(i);
c = c.getJSONObject("LearningStandards");
// Storing JSON item in a Variable
String ver = c.getString(TAG_VER);
String name = c.getString(TAG_NAME);
//String api = c.getString(TAG_API);
// Adding value HashMap key => value
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_VER, ver);
map.put(TAG_NAME, name);
//map.put(TAG_API, api);
oslist.add(map);
这是适合您的代码。你可以像这个解析步骤一样获取值。
String strJSONData = networkManager.doPost("http://54.152.108.131/iphone111/getLearningStandards");
JSONArray objJson = new JSONArray(strJSONData);
System.out.println("AppUserLogin:"+objJson);
// Parsing json
if(arrJson.length()>0)
{
for (int i = 0; i < objJson.length(); i++) {
try {
JSONObject objprod = arrJson.getJSONObject(i);
HashMap<String, String> MaplistTemp = new HashMap<String, String>();
MaplistTemp.put("replyCode",
objprod.getString("replyCode"));
MaplistTemp.put("replyCode",
objprod.getString("replyCode"));
JSONArray objproduct_var = new JSONArray(objprod.getString("LearningStandards"));
if ((objproduct_var.length()) > 0) {
for (int k = 0; k < objproduct_var.length(); k++) {
JSONObject objprodvar = objproduct_var
.getJSONObject(k);
MaplistTemp
.put("1",
objprodvar
.getString("1"));
MaplistTemp
.put("2",
objprodvar
.getString("2"));
MaplistTemp
.put("3",
objprodvar
.getString("3"));
MaplistTemp
.put("4",
objprodvar
.getString("4"));
}
}
// sub_categorys_details.add(sub_cat_det);
medpostList.add(MaplistTemp);// adding to final hashmap
} catch (JSONException e) {
e.printStackTrace();
}
}
}
您的 url 有另一个数组,因此在 "k" for 循环中再次执行此操作并创建另一个 for 循环 j 并获取值。 注意dopost方法return类型是String。如果你有 json 对象然后相应地使用它。