2017-03-02 15 views
0

JSONのデータはこのように見えますが、datatablesを通じて送信されるようにしようとしていますが、サブjsonsは解決されません。Javaでネストしたjsonの配列を削除する方法

{"data":[{"code":"001","name":"TEST", 
"drpList":[{"name":null,"bed":"xxx","mbed":null}, 
{"name":null,"bed":"eeee","mbed":null}]}]} 

ので、私はこれは私がこれまで持っているものである

{"data":[{"code":"001","name":"TEST", 
"drpList":{"name":null,"bed":"xxx","mbed":null}, 
{"name":null,"bed":"eeee","mbed":null}}]} 

ここJavaコード

public @ResponseBody JSONObject getDatafromjson(@RequestParam(required = false) String id,Model model){ 
    JSONObject ajson = new JSONObject(); 
    String uri = "https://191.165.1.139:8890/search?id="+id; 

    RestTemplate restTemplate = new RestTemplate(); 
    HttpHeaders headers = new HttpHeaders(); 
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); 
    HttpEntity<String> entity = new HttpEntity<String>("parameters", headers); 
    ResponseEntity<Data> result = restTemplate.exchange(uri, HttpMethod.GET, entity, Data.class); 
    Data data = result.getBody(); 
    List<sList> ciflist=data.getAccList(); 
    List<Data> list =new ArrayList<Data>(); 
    Data d = new Data(); 
    d.setName(data.getName()); 
    d.setCode(data.getCode()); 
    d.setSList(data.getSList()); 
    list.add(d); 
    ajson.put("data", list); 
    model = getNotification(model); 
return ajson; 

} 

に変更することを決定しています。誰でも助けることができると思いますか?

のDataTableコード:

$('#table').DataTable({ 
    "processing": true, 
    "serverSide": true, 
    "ajax": "Hello.php", 
       "bDestroy":true,                   
       "columns":[ 
        {"data": "code"},                
        {"data": "name"}, 
        {"data": "drpList.name"}, 
        {"data": "drpList.bed"},                       
        {"data": "drpList.mbed"} 
        ], 
        "language": { 
        "lengthMenu": "| View _MENU_ records per page", 
        "zeroRecords": "Nothing found - sorry", 
        "infoEmpty": "No records available", 
        "infoFiltered": "(filtered from _MAX_ total records)" 
        }, 
        "pagingType": "full_numbers", 
        "lengthChange": false 
}); 
+1

あなたの二JSONが間違っ近く ' "drpList" です:{...}、{...}'。 –

+0

'drpList'が複数の値を格納するので、2番目のjsonは正しくありませんので、値は' [] array'形式でなければなりません。 または各データポイントを分ける。 構造を変更する理由は何ですか? –

+0

@ user3145373:大丈夫ですが、データテーブルを設定する方法。 – user7646838

答えて

0
import org.json.simple.JSONArray; 
import org.json.simple.JSONObject; 

JSONObject drpList = (JSONObject) jsonObject.get("drpList"); 
JSONArray bed = (JSONArray) drpList.get("bed"); 

for (int x = 0; x < bed.size(); x++) { 
    JSONObject obj = (JSONObject) bed.get(x); 
    JSONArray arr = (JSONArray) obj.get("attr"); 
    for (int y = 0; y < arr.size(); y++) { 
     System.out.println(((JSONObject) arr.get(y)).get("value").toString()); 
    } 
} 
関連する問題