所以我試圖從我的數據庫中提取節點(通過遞歸),然後顯示json代碼,我必須一個JavaScript庫。問題是庫不能識別json數組輸出,因爲它有多餘的引號和斜槓(/)。下面是代碼:使用紅寶石生成節點,並顯示它們與JavaScript錯誤
data = {
"nodes":
"\"User1:{'color':'green','shape':'dot','label':'You'},
User2:{'color':'green','shape':'dot','label':'You'},
User3:{'color':'green','shape':'dot','label':'You'}\""
,"edges":{}};
而且我希望它看起來是這樣的:
var data = {
"nodes":{
"You":{'color':'green','shape':'dot','label':'You'},
Ben:{'color':'black','shape':'dot','label':'Ben'},
David:{'color':'black','shape':'dot','label':'David'}
},
"edges":{
You:{ Ben:{}, David:{} },
Ben:{ David:{}}
}
};
在我user_controller我使用這個:
def make_json(node, string = "")
node[1].each do |n|
string += node[0] + "{'color':'green','shape':'dot','label':'You'},"
return make_json(n, string)
end
return string + node[0] + "{'color':'green','shape':'dot','label':'You'}"
end
最後,這樣的:
@data = {}
@data['nodes'] = make_json(@user_tree[0]).to_json
@data['edges'] = {}
我試過使用替換方法,但數據變量似乎不是一個字符串,所以我不能只替換引號。我會很感激任何幫助。
謝謝!
非常感謝!這很有幫助。 –