0

私のウェブサイトで生成された次のjsonがあります。私はアンドロイドプログラミングがまったく初めてです。可能であれば、次のjsonデータを解析してリストビューに表示する方法を教えてください。

JSON:

  {
   "Category":[
      {
         "id":"14",
         "parent_id":"2",
         "lft":"3",
         "rght":"18",
         "name":"Category Name",
         "icon":"",
         "created":"2012-04-21 23:43:37",
         "modified":"2012-04-21 23:43:37"
      },
      {
         "id":"15",
         "parent_id":"2",
         "lft":"19",
         "rght":"28",
         "name":"Category Name",
         "icon":"",
         "created":"2012-04-21 23:44:10",
         "modified":"2012-04-21 23:44:10"
      },
      {
         "id":"16",
         "parent_id":"2",
         "lft":"29",
         "rght":"34",
         "name":"Category Name",
         "icon":"",
         "created":"2012-04-21 23:44:35",
         "modified":"2012-04-21 23:45:37"
      },
      {
         "id":"17",
         "parent_id":"2",
         "lft":"35",
         "rght":"60",
         "name":"Category Name",
         "icon":"",
         "created":"2012-04-21 23:44:52",
         "modified":"2012-04-21 23:45:53"
      },
      {
         "id":"18",
         "parent_id":"2",
         "lft":"61",
         "rght":"62",
         "name":"Category Name",
         "icon":"",
         "created":"2012-04-21 23:46:05",
         "modified":"2012-04-21 23:46:05"
      },
      {
         "id":"19",
         "parent_id":"2",
         "lft":"63",
         "rght":"70",
         "name":"Category Name",
         "icon":"",
         "created":"2012-04-21 23:46:19",
         "modified":"2012-04-21 23:46:19"
      }
   ],
   "success":1
}
4

6 に答える 6

1

Gson by Google をお試しください。これが例です。配列リストに解析する方法

List<Category> categories = gson.fromJson(json, new TypeToken<Collection<Category>>() {}.getType());
于 2015-07-31T12:29:48.147 に答える
1

json 配列を取得し、その中の個々のネストされたオブジェクトと配列を 1 つずつ取得します。次に get(String key) メソッドを使用して、オブジェクト内の個々の文字列の値を取得します。

あなたの場合、コードは次のようになります。

JSONObject json_data = new JSONObject(result);
JSONArray json_array = new JSONArray(json_data.getString("Category"));
JSONObject temp;
for(i=0;i<json_array.length();i++)
{
temp = json_array.getJSONObject(i);

String id = temp.get("id").toString();
String parent_id = temp.get("parent_id").toString();
.
.
.
}
String success_value=json_data.get("success");
于 2012-10-05T08:06:28.933 に答える
0

私はおそらくジャクソンのようなサードパーティのライブラリを使用するでしょう:http://jackson.codehaus.org/

次に、次のようなことを行うことができます。

ObjectMapper mapper = new ObjectMapper();
JsonParser jp = mapper.getJsonFactory().createJsonParser(jsonBody);
JsonNode rootNode = mapper.readTree(jp);

ここで、jsonBodyは文字列です。次に、JsonNodeのget()メソッドを使用して、目的に最も役立つと思われる方法でデータを抽出できます。あなたが始めるためにインターネット上にたくさんの例があります。

于 2012-10-05T08:00:08.750 に答える
0

このようにしてみてください

JSONObject object = new JSONObject(result);
JSONArray Jarray = object.getJSONArray("Category");

for (int i = 0; i < Jarray.length(); i++) {
    JSONObject Jasonobject = Jarray.getJSONObject(i);
于 2012-10-05T08:00:20.720 に答える
0

JavaでのGoogleのJSON実装をご覧ください。

GSONは素晴らしいです。http://code.google.com/p/google-gson/

于 2012-10-05T08:00:49.693 に答える
0
JSONObject jasonobject = new JSONObject(yourString);
JSONArray jarray = Jasonobject.getJSONArray("Category");

for (int i = 0; i < Jarray.length(); i++) { ...}

http://p-xr.com/android-tutorial-how-to-parse-read-json-data-into-a-android-listview/を確認してください

于 2012-10-05T07:53:25.127 に答える