在Android中获取Json结果

在Android中获取Json结果,android,json,Android,Json,Json问题: 我有这个格式化的JSON { "Table1":[ { "TableName":"LoadDistributor", "Description":"Distributor ", "MandatoryFlag":"1", "Status":"", "Priority":"0" }, { "TableName":"LoadPrice", "Description":"Price ", "M

Json问题:

我有这个格式化的JSON

 {
 "Table1":[
  {
     "TableName":"LoadDistributor",
     "Description":"Distributor ",
     "MandatoryFlag":"1",
     "Status":"",
     "Priority":"0"
  },
  {
     "TableName":"LoadPrice",
     "Description":"Price ",
     "MandatoryFlag":"1",
     "Status":"",
     "Priority":"0"
  },
  {
     "TableName":"LoadProduct",
     "Description":"Product ",
     "MandatoryFlag":"1",
     "Status":"",
     "Priority":"0"
  },
  {
     "TableName":"RD.AlternativeProductDetail",
     "Description":"AltProdutDetail",
     "MandatoryFlag":"0",
     "Status":"",
     "Priority":"0"
  },
  {
     "TableName":"XA.vwTown",
     "Description":"Town ",
     "MandatoryFlag":"1",
     "Status":"",
     "Priority":"0"
  }
] }

Android Json处理方法为:

   public String[] getStringArrayResponseJson(SoapPrimitive node, ArrayList<String> strings) {
    try{

        String result = node.toString();
        JSONObject json = new JSONObject(result);

        // Parsing
        JSONArray nameArray = json.names();
        JSONArray valArray = json.toJSONArray(nameArray);
        Log.i("@@@" , "===="+  valArray.length());
        for (int i = 0; i < valArray.length(); i++) {
            strings.add(valArray.getString(i));
        }

        json.put("sample key", "sample value");
        Log.i("REST", "<jsonobject>\n" + json.toString()
                + "\n</jsonobject>");
    }catch (JSONException e) {
    e.printStackTrace();
}
公共字符串[]getStringArrayResponseJson(SoapPrimitive节点,ArrayList字符串){ 试一试{ 字符串结果=node.toString(); JSONObject json=新的JSONObject(结果); //解析 JSONArray nameArray=json.names(); JSONArray valArray=json.toJSONArray(nameArray); Log.i(“@@@@”,“=”+valArray.length()); 对于(int i=0;i 我的要求是我想把TableName放入字符串[]或列表中…我们如何才能做到这一点


请告诉我json处理方法中的错误是什么:?

示例代码,不确定它是否能正常工作。 我为字符串创建一个ArrayList就是为了它

ArrayList<String> list = new ArrayList<String>();
JSONArray array = jsonobject.getJSONArray("Table1");        
int max = array.length();
 for (int i = 0; i < max; i++) {
   JSONObject tmp = array.getJSONObject(i);
   list.add(tmp.getString("TableName"));
 }
ArrayList list=new ArrayList();
JSONArray数组=jsonobject.getJSONArray(“表1”);
int max=array.length();
对于(int i=0;i
这可能是一种更快的方法,但只是举个例子


您可以阅读更多内容

您想获取字符串数组中的所有表名字段吗?仅此字段?谢谢Pepi。是的。需要获取所有表名。根据David Olsson的回答,它现在工作正常。