получить результат Json в Android - PullRequest
2 голосов
/ 07 июля 2011

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();
}

MyТребуется, чтобы я хотел получить TableName в строку [] или список ... Как мы можем это сделать?

Пожалуйста, помогите мне, что является ошибкой в ​​моем методе обработки json:?

1 Ответ

1 голос
/ 07 июля 2011

Пример кода, не уверен, что он будет работать.Я создаю 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"));
 }

Может быть быстрее, но только для примера.

Вы можете прочитать больше http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...