2017-03-06 10 views
-1

私はオブジェクトと配列を含む(ネストされた)データ構造を持っています。そして、データテーブルを送信しようとしましたが、1つの値しか表示されませんでした。ネストされたJSONデータをデータテーブルに設定するにはどうすればよいですか?

JSONデータ:Javaを使用してURLを通り抜ける

{ 
"data": [{ 
    "name": "name1", 
    "value": "value1", 
    "list": [{ 
    "sname": "sname1", 
    "svalue": "svalue1" 
    }, { 
    "sname": "sname2", 
    "svalue": "svalue2" 
    }] 
}] 
} 

JSONデータ。

のjQueryコード:ここで

var pk = $("#pk").val(); 
console.log(pk); 
url = "/register/search?id=" + pk; 
console.log(url); 
$('#largeTable').DataTable({ 
"ajax": url, 
"bDestroy": true, 
"columns": [{ 
    "data": "name" 
}, 
{ 
    "data": "value" 
}, 
{ 
    "data": "list.1.sname" 
}, 
{ 
    "data": "list.1.svalue" 
}, 
{ 
    "data": null, 
    "defaultContent": editview 
} 
] 
}); 

list.1またはlist.0を用いて、第1または第二list値のいずれかを表示することが可能である。しかし、私は一度に2つの値を求めています。

+0

これは、[コピーアンドペースト]です(https://stackoverflow.com/questions/42619683/how-to-get-a-specific-or-multiple-あなたの質問から4時間前に値またはキーのネストされたjsonから) – halfer

+0

[ネストされたjsonから特定の値または複数の値を取得する方法](http://stackoverflow.com/questions/42619683/how-to-get-a-specific-or-multiple-values- or-keys-from-nested-json) – halfer

答えて

2

listのjsonデータ構造体は配列です。したがって、使用する必要があります

オブジェクトを作成し、JSONを動的に構築し、それを「列」配列に設定することができます。ここ

は一例であり:

// make an empty object 
var myObject = {}; 

// set the "list1" property to an array of strings 
myObject.list1 = ['1', '2']; 

// you can also access properties by string 
myObject['list2'] = []; 
// accessing arrays is the same, but the keys are numbers 
myObject.list2[0] = 'a'; 
myObject['list2'][1] = 'b'; 

myObject.list3 = []; 
// instead of placing properties at specific indices, you 
// can push them on to the end 
myObject.list3.push({}); 
// or unshift them on to the beginning 
myObject.list3.unshift({}); 
myObject.list3[0]['key1'] = 'value1'; 
myObject.list3[1]['key2'] = 'value2'; 

myObject.not_a_list = '11'; 
+0

しかし、データ可能な列 – user7646838

+0

の値を修正するには、おそらく役立つでしょう:https://datatables.net/forums/discussion/32993/best-way-to-update-cell-in別のセル内のデータに基づくもの – Yaroslav

関連する問題