【web前端攻城獅】string轉換成json對象

很多時候,可能需要我們自己去拼接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 問題解決  

還解決不了請評論





發佈了29 篇原創文章 · 獲贊 66 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章