2016-01-11 110 views
1

我有一個JSON對象作爲字符串,我解析它與JSON.parse()但結果對象仍然是一個字符串。難道我做錯了什麼?Node.js JSON.parse(string)返回一個字符串

var myString = "{Username:Brad,Password:12345}"; 

// adding in the quotes or else it throws an error saying 'unidentified token U 
var myJson = JSON.parse('"' + myString + '"'); 

console.log(myJson.Username); // prints 'undefined' 
console.log(typeof(myJson)); // prints 'string' 
+2

該字符串不是JSON的有效表示形式。鍵和值應該用引號括起來。 var obj = JSON.parse('{「Username」:「Brad」,「Password」:「12345」}');'使用[JSONLint](http://jsonlint.com/)檢查您的JSON是否有效。 – Tushar

+0

謝謝,這是問題所在。行情在我的客戶端出現,出於某種原因,在我的服務器響應中,他們消失了。 – BradStell

回答

3

這不是有效的JSON。密鑰和字符串需要引用:

var myString = '{"Username":"Brad","Password":12345}'; 
var myJson = JSON.parse(myString); 

有關JSON的信息,請參閱json.org。

+0

好的,謝謝!我使用節點http模塊作爲服務器和客戶端。出於某種原因,在從客戶端到服務器的過境期間,我丟失了引號。 – BradStell