![](/img/trans.png)
[英]How can I convert the string of a JavaScript object literal to a JavaScript object literal?
[英]How can I convert my JSON string to a JavaScript Object Literal
我正在使用jqGrid,目前遇到一些問題,主要是因為它的配置。
目前,我要這樣做:
var tableConfigJson = $treeTable.getMappedJson();
jQuery(function() {
jQuery("#grid").jqGrid(tableConfigJson);
});
$ treeTable是我在服務器端通過速度映射檢索的對象。
現在,我從服務器獲取的JSON很好,但是當我將其傳遞給jqGrid來為其設置配置時,它將無法正常工作。 如果我在javascript中設置了配置,但我將配置創建為javascript對象,則可以正常運行,但是,如果我僅將JSON作為配置傳遞,則無法使用。 現在我的問題是,有一種簡單的方法可以解決此問題嗎? 還是我需要使用JSON重新映射配置。
但是如果我這樣做:
jQuery(function() {
jQuery("#grid").jqGrid({
treeGrid: true,
treeGridModel: 'adjacecncy',
ExpandColumn: 'name',
datatype: "local",
mtype: 'Get',
colNames: ['id','Name','MenuId','Menu Name'],
colModel: [
{name:'RowId',index:'RowId',width:300,fixed:true},
{name:'Name',index:'Name',width:300,fixed:true},
{name:'MenuId',index:'MenuId',width:300,fixed:true},
{name:'MenuName',index:'MenuName',width:300,fixed:true},
],
root:[
{id:"1",Name:"Main Menu", MenuId:"1",MenuName:"Menu1"},
{id:"2",Name:"Main Menu1",MenuId:"2",MenuName:"Menu2"},
{id:"3",Name:"Main Menu2",MenuId:"3",MenuName:"Menu3"}
],
pager: '#dvtreegridsamp',
Caption: 'example'
)};
然后就可以了。
更新:
這是對象在控制台中的輸出,但是我想我知道現在可能出了什么問題。
Object {datatype: "local", data: Array[3], colNames: Array[2], colModel: Array[2], height: "auto"…}ExpandColumn: "id"
caption: "I am SAD"
colModel: Array[2]0: Object1: Objectlength: 2__proto__: Array[0]colNames: Array[2]
data: Array[3]
datatype: "local"
height: "auto"
sortname: "id"
treeGrid: "true"
treeGridModel: "adjacency"
treedatatype: "local"
問題在於用於配置的參數被解析為位置的數組對象,而不是JSON樣式字符串。 因此,這些參數被忽略。 我需要這些是JSON樣式,然后一切正常。
如果我需要澄清任何事情,請告訴我,它已經晚了,我喝了很多咖啡。
如果tableConfigJson
當前是一個JSON字符串(如您建議的那樣),則只需解析它:
jQuery("#grid").jqGrid(JSON.parse(tableConfigJson));
如果您需要它在較舊的瀏覽器中運行 ,則需要包含一個墊片 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.