2017-01-06 4 views
-1

からで二重引用符を削除します。Javascriptを私は結果は次のようになりますJavaScriptで使用するためのJavaクラスにJavaScriptオブジェクトを生成していたオブジェクトの値

var gridDefinition  = {"width":"100%", 
"height":700, 
"sortable":true, 
"columns"[{"datafield":"id","datatype":"string","width":300,"hidden":true,"text":"ID"}, 
{"datafield":"lastname","datatype":"string","cellsrenderer":"renderer_openEntry","width":300,"text":"Nachname"}, 
{"datafield":"firstname","datatype":"string","width":200,"text":"Vorname"}, 
{"datafield":"officePhoneNumber","datatype":"string","width":150,"text":"Telefon"}, 
{"datafield":"companyName","datatype":"string","width":300,"text":"Firma"}, 
{"datafield":"mailServer","datatype":"string","width":200,"text":"Mail-Server"}, 
{"datafield":"mailFile","datatype":"string","width":400,"text":"Mail-Datei"}]} ; 

cellsrendererは、コールバック関数名です。 renderer_linkを囲む二重引用符を削除するにはどうすればよいですか?結果の行は次のようになります。

{"datafield":"lastname","datatype":"string","cellsrenderer":renderer_openEntry,"width":300,"text":"Nachname"}, 
+2

あなたが引用符を削除すると、それはもうJSONではありません。この解析されたJSONオブジェクトをJavascriptに後処理して、関数の名前を実際の関数参照に保持する文字列を解決する必要があります。あなたが具体的なコードであなたを助けることができるようにもう少し文脈を提供できますか? – deceze

+0

@decezeこれはJSONではなく、決してされていません。文字通り変数に割り当てられるJavaScriptオブジェクトです。 – meagar

+0

[アクセス/プロセス(ネストされた)オブジェクト、配列、またはJSON]の重複の可能性があります(http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) – Teemu

答えて

1

「引用符を削除する」方法は質問するのが間違っています。コードが実行されている瞬間に、引用符は削除できません。

必要なものは、名前を変数にマップするマップです(例:その後、

var myFunctions = { 
    renderer_openEntry: renderer_openEntry, 
    // other functions 
}; 

と文字列の代わりにマップから値を参照するために、すべてのcellsrender proeprtiesの値を更新するために、オブジェクトを処理:

gridDefinition.columns.forEachfunction(column) { 
    if (column.cellsrenderer) { 
    column.cellsrenderer = myFunctions[column.cellsrenderer]; 
    } 
}); 
+0

ありがとう、それは動作します。 –

関連する問題