的jqGrid - jsonString数据类型 - 显示嵌套JSON元素值

问题描述:

所有,的jqGrid - jsonString数据类型 - 显示嵌套JSON元素值

我在正在被从一个web服务返回的JSON对象。我正在使用Stringify方法将其转换为字符串对象。

虽然我尝试将此与我的jqGrid(使用数据类型:'jsonstring',datastr:myJSONstringobject)进行整合。如果它是直接的(即'index:customerName'),我能够将JSON列映射到网格。

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

有人可以帮忙吗?

在此先感谢!

如果我理解你的问题正确,你应该使用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

如果您有嵌套的JSON,并且想要显示其在某个子笔记中的行数据,则只需使用(例如,如果您在“数据”节点中具有“jqGrid”数据):

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

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