很多時候,可能需要我們自己去拼接json對象
就像我這樣
給定的數據是這樣的
var data = {賈嬡: -45494.848, 鞏嬡: 16720.788, 餘嬡: 26449.724, 樑安: 21023.016, 彭安: 3729.6};
而我們想要的格式是這樣的
var jsongirl = {
'name': 'flare',
'children': [
{'name': 'AgglomerativeCluster', 'size': 3938},
]
}
該怎麼辦?
答案如下
var result = d3.entries(data);
var startString = "{\"name\": \"flare\",\"children\": [";
result.forEach(function(dude){
startString+="{\"name\":\""+dude.key+"\",\"size\":"+dude.value+"},";
})
startString = startString.substring(0,startString.length-1);
startString+="]}";
有人說,簡單的東西你幹嘛貼這麼多代碼混淆視聽
好 那就簡單點兒
用JSON.parse(mystring);
這樣就可以得到我們的json對象
如果成功了的話,console.log一下,會顯示object,如果不成功就是一長傳的字符
正確如下
錯誤如下
但爲什麼還不行呢?
有可能是三個問題導致的:
1.很多人習慣用單引號或者雙引號將內容區分開,這種方法在其他情況可以,但是在這裏不行,裏面必須用雙引號,雙引號用\"還轉義表示,就如上面貼出來的一樣
2.第二種情況,有沒有多逗號等等
上面的substring(0,startString.length-1)就是用來去除字符串最後一個字符的
否則就會提示如下錯誤
3.手賤,在檢查一下哪兒寫錯了
OK 問題解決
還解決不了請評論