Jquery Fusion Tables v1新JSON返回的isn';t与jqGrid&;jsonReader
这是我与Fusion Tables beta版一起工作的代码(以下是Oleg在前几年帮助我完成的jqGrid代码的一部分): 下面是从Google返回的旧JSON数据:Jquery Fusion Tables v1新JSON返回的isn';t与jqGrid&;jsonReader,jquery,json,jqgrid,google-fusion-tables,Jquery,Json,Jqgrid,Google Fusion Tables,这是我与Fusion Tables beta版一起工作的代码(以下是Oleg在前几年帮助我完成的jqGrid代码的一部分): 下面是从Google返回的旧JSON数据: jQuery16406014587786572121_1350317794100( {"table": { "cols": ["id","latitude","longitude","name","address_line_1","address_line_2","address_line_3",
jQuery16406014587786572121_1350317794100(
{"table":
{
"cols":
["id","latitude","longitude","name","address_line_1","address_line_2","address_line_3","postcode"],
"rows":
[[1234,"55",-1.5, --etc
使用Google的新API,返回的JSON现在如下所示:
{
"kind": "fusiontables#sqlresponse",
"columns": [
"id",
"latitude",
"longitude",
"name",
"address_line_1",
"address_line_2",
"address_line_3",
"postcode"
],
"rows": [
[
"1234",
"55",
-1.5,
"Name One",
"Road 1",
"Road 2",
"Sunderland",
"SR1 1AA"
],
它似乎没有“根”,我也不知道如何让jsonReader使用这个新的JSON。我用谷歌搜索了一下,看看是否有其他人也遇到过这种情况,但只有一两次未被回复的点击。JAVA有人能帮我吗 我只看到JSON响应中删除了“表”部分。因此,我想您可以尝试以下jsonReader
:
jsonReader: {
cell: "",
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.rows.length; }
}
此外,您还可以在jsonReader
中包含id:0
,或者使用key:true
来定义“id”
列(在colModel
中)
顺便说一句,我不认为
repeatitems:false
是旧数据格式的正确设置。谢谢Oleg-我稍后/明天会检查-我尝试过设置root:,但我没有尝试过忽略它completely@JPMox:设置root:“
对于您的数据将是错误的。我删除了root
,因为您需要使用root:“rows”
,这是jqGrid的默认设置。我想您的主要问题是使用了repeatitems:false
,这对于数据来说是错误的。默认值正确repeatitems:true
。您可以省略默认属性,以便在我的答案中的jsonReader
中没有repeatitems
。
jsonReader: {
cell: "",
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.rows.length; }
}