2017-06-29 117 views
1

我有我的JSON与Newtonsoft.Json dll序列化,但不知何故我无法正确填充它。使用来自C#数据集的JSON填充表格

该json变量data有序列化的结果,并在data.d我有objet我落后了。它看起来像这样

{ 
    "Table": [ 
     { 
     "key1": "value1", 
     "key2": "value2"  
     } //etc, more objects 
    ] 
} 

等阿贾克斯成功我这样做:

success: function (data) { 
      console.log(data.d); //result printed above         
      $('#myTable').bootstrapTable({ 
       data: data.d.Table 
      });    
     }, 

而且它不工作,d.Table表示不确定。但是,如果在Chrome的控制台上,我创建了一个变量data,其中来自data.d的信息然后是$('#myTable').bootstrapTable({data: data.Table});它的工作原理。

除了发生什么事情的奇怪之外,我想我可以摆脱C#中的Table对象,并将实际数据objet与其数组发送回ajax,但我不知道如何在C#中如何做到这一点。

我错过了什么?

回答

1

变量d.Table未引用有效的对象,这就是为什么它以未定义的方式返回的原因。它应该是data.d.Table

success: function (data) { 
      console.log(data.d); //result printed above         
      $('#myTable').bootstrapTable({ 
       data: data.d.Table 
      });    
     }, 

或者,您可以声明一个变量来保存表数据,即var tableData = data.d.Table;。然后在填充表格时引用该变量。

+0

我会更新我的问题,忘记提及'data:data.d.Table'也会引发undefined。奇怪的。 –

+0

@DanielSh。 console.log(data.d.Table)显示什么? – RobB

+0

'console.log(data.d)'抛出以'Table'和'console.log(data.d.Table)开头的objet'throws undefined。 –