2012-04-19 48 views
0

所有,的jqGrid - jsonString數據類型 - 顯示嵌套JSON元素值

我在正在被從一個web服務返回的JSON對象。我正在使用Stringify方法將其轉換爲字符串對象。

雖然我嘗試將此與我的jqGrid(使用數據類型:'jsonstring',datastr:myJSONstringobject)進行整合。如果它是直接的(即'index:customerName'),我能夠將JSON列映射到網格。

但是,如果它是嵌套的JSON值(即'index:customer.customerAddress.street'),它沒有被加載到網格中。

有人可以幫忙嗎?

在此先感謝!

回答

2

如果我理解你的問題正確,你應該使用jsonmap包含點的列的屬性(如jsonmap: customer.customerAddress.street)而不是index。如果您使用datatype: 'jsonstring',則應使用nameindex參數,它們的值不包含點,空格或任何其他元字符。如果您定義了與您的數據相對應的jsonReader,那麼您可以減少使用jsonmap的需要。因爲你沒有發佈你的JSON數據的例子,我無法向你解釋更多。

大部分在使用網絡服務的情況下,您不需要使用datatype: 'jsonstring'。相反,使用datatype: 'json'以及其他一些參數會更好。

+0

感謝奧列格..有一天,你應該寫一本書上的jqGrid我們! :-) – 2012-04-22 19:09:29

+0

@DavidR:不客氣!很高興我會寫一本書。我只能找到更多的時間。我可能會開始出版書中的一些部分。 – Oleg 2012-04-22 19:33:58

+0

Great Oleg !!! ..你有博客嗎? – 2012-04-24 18:50:58

1

如果您有嵌套的JSON,並且想要顯示其在某個子筆記中的行數據,則只需使用(例如,如果您在「數據」節點中具有「jqGrid」數據):

 jsonReader: { 
      root: "data.rows", 
      page: "data.page", 
      total: "data.total", 
      records: "data.records" 
     } 

!注:這是有效的jqGrid上100版本4.4.4%