0

私はこのようなjsonパースを持っています

名前

  • ブランド

  • 値推奨

    • 値 a
    • 値 b
  • MPN

  • 値推奨
    • 値 a
    • 値 b

この値 (ブランドと mpn) をリスト ビューで表示できます。そして、ブランドをクリックすると、リストに推奨値(値aとb)が表示されます。mpn をクリックすると、名前 2 からの推奨値 (値 a と b) もリストに表示されます。誰でも私にアドバイスを与えることができます?? ありがとう

これは私のjson解析

array (
    'features' => 
    array (
     'Recommendations' => 
      array (
        'id' => 
        'NameRecommendation' => 
        array (
          0 => 
          array (
            'Name' => 'Brand',
            ),      
            'ValueRecommendation' => 
            array (
              0 => 
              array (
                'Value' => 'Unbranded/Generic',
                ),

              1 => 
              array (
                'Value' => 'Canon',
                ),

              2 => 
              array (
                'Value' => 'Nikon',
                ),

              ),
  1 => 
          array (
            'Name' => 'MPN',
            ),
              'ValueRecommendation' => 
            array (
              0 => 
              array (
                'Value' => 'mpn1',
                ),

              1 => 
              array (
                'Value' => 'aas',
                ),

              2 => 
              array (
                'Value' => 'aab',
                ),
4

3 に答える 3

0

このURLjsonobjectを確認し、 of -name を使用して合計データを読み取ります

于 2013-01-10T10:34:33.823 に答える
0

これは JSONArray オブジェクトで読み取ることができます

これが例です

JSONArray jsonArr = new JSONArray(jsonStr); // this is you string as formatted in json array if not parse by this construct it will throw the jsonparseexception

このjsonの各オブジェクトをイテレータで通過します

for(int i=0;i<jsonArr.length();i++){
    JSONObject jsonObj = jsonArr.get(i).getJsonObject("value recom");
    String a = jsonObj.getString("a"); // here is your data for a object
    String b = jsonObj.getString("b"); // here is your data for b object
}
于 2013-01-10T10:35:06.813 に答える
0

Google gson を使用する場合。

var getRowData =
[{
    "dayOfWeek": "Sun",
    "date": "11-Mar-2012",
    "los": "1",
    "specialEvent": "",
    "lrv": "0"
},
{
    "dayOfWeek": "Mon",
    "date": "",
    "los": "2",
    "specialEvent": "",
    "lrv": "0.16"
}];

    JsonElement root = new JsonParser().parse(request.getParameter("getRowData"));
     JsonArray  jsonArray = root.getAsJsonArray();
     JsonObject  jsonObject1 = jsonArray.get(0).getAsJsonObject();
     String dayOfWeek = jsonObject1.get("dayOfWeek").toString();

// ジャクソン使用時

    JsonFactory f = new JsonFactory();
              ObjectMapper mapper = new ObjectMapper();
          JsonParser jp = f.createJsonParser(getRowData);
          // advance stream to START_ARRAY first:
          jp.nextToken();
          // and then each time, advance to opening START_OBJECT
         while (jp.nextToken() == JsonToken.START_OBJECT) {
            Map<String,Object> userData = mapper.readValue(jp, Map.class);
            userData.get("dayOfWeek");
            // process
           // after binding, stream points to closing END_OBJECT
        }
于 2014-04-22T09:40:00.840 に答える