0

通过 jqGrid 传递解析的 JSON 变量时,我遇到了一个小问题。我正在查询一个 MS Access .mdb 文件。问题是有一个 ID 字段,它是 MS Access 中的自动编号整数字段,并且在查询时没有引号。jqGrid 不喜欢这个,这就是它没有在表中显示 ID 值的原因。

 var SQL = "SELECT * FROM test";
 var resultSet = myDB.query(SQL);
// resultSet will yield [{"ID":1,"name":"albert","9999999999"},{"ID":2,"name":"peter","8888888888"}]
 var mydata = JSON.parse(resultSet)

请注意上面的结果集如何在 ID 值上没有引号,但其余的都有。这导致在 ID 列中没有值的表。如何在通过 JSON 解析 ID 值之前为其添加引号?

谢谢你。

在此处输入图像描述 整个代码.. 在此处输入图像描述

4

2 回答 2

1

jqGrid 可以像处理字符串一样处理整数。因此,您无需将数字更改为字符串。您在上一个问题中发布的 JSON 包含id而不是ID. JavaScript 是区分大小写的语言。id我想如果你替换你会在列中看到值

{name:'ID',index:'ID', width:60, sortable:false},

{name:'id', width:60, sortable:false},

此外,我建议您indexcomModel.

于 2013-05-20T08:24:42.360 回答
0
for (item in resultSet[0]){
    if (typeof(item) === "number"){
        item = " + item ";
    }
}

未经测试和头部编码,也许它有效。那完全是废话,无法正常工作……该行item = " + item ";应该产生错误,因为这不是有效的javascript。

resultSet[0].forEach(function(d){
    d.ID = '"' + d.ID + '"';
}
于 2013-05-20T01:03:16.953 回答