2

次のような URL リクエストがあります。

http://localhost:8080:_dc=1367504213107&filter[0][field]=site&filter[0][data][type]=string&filter[0][data][value]=test&filter[1][field]=address&filter[1][data][type]=string&filter[1][data][value]=Columbus

これは、ブラウザから取得した URL リクエストです。

この URL から、フィルター関連のデータを JSON オブジェクトとして取得する必要があります

基本的に、要求された URL に次のようなフィルター パラメーターがあります。

filter[0][field]=site
filter[0][data][type]=string
filter[0][data][value]=test
filter[1][field]=address
filter[1][data][type]=string
filter[1][data][value]=Columbus

Spring MVC フレームワークを使用しています。

4

2 に答える 2

1

これは、JSON で記述された場合、そのデータがおそらくどのように見えるかです。

{
    "filter": 
    [
        { 
            "field": "site",
            "data": 
            { 
                "type": "string",
                "value": "test"
            }
        },
        { 
            "field": "address",
            "data": 
            { 
                "type": "string",
                "value": "Columbus"
            }
        }
    ]
}

上記の JSON から独自の形式に変換する Java コード:

JSONObject root = new JSONObject(json);
JSONArray filters = root.getJSONArray("filter");
for (int i = 0; i < filters.length(); i++)
{
    JSONObject filter = filters.getJSONObject(i);
    String field = filter.getString("field");
    JSONObject data = filter.getJSONObject("data");
    String dataType = data.getString("type");
    String dataValue = data.getString("value");
    System.out.println("filter[" + i + "][field]=" + field);
    System.out.println("filter[" + i + "][data][type]=" + dataType);
    System.out.println("filter[" + i + "][data][value]=" + dataValue);
} 

あなたのデータ形式は標準的ではないようです。そのため、自分で解析する必要があります。

于 2013-05-16T22:02:14.780 に答える