2012-11-20 48 views
3

當我在C#中使用JavaScriptSerializer時,出現「無效的JSON原語」異常。我認爲這個問題是與我的JSON輸入字符串,但我沒有看到問題。JavaScriptSerializer無效的JSON原始碼

JavaScriptSerializer new JavaScjs =riptSerializer(); 
js.Deserialize<Object>(json) 

「{\」 新名稱\ 「:\」 阿靈頓\」,\ 「new_locationid \」:\ 「089c6c6a-F520-E111-bdd3-00505695001f \」},{\ 「新名稱\」:\ 「亞特蘭大\」,\ 「new_locationid \」:\ 「0a9c6c6a-F520-E111-bdd3-00505695001f \」},{\ 「名稱\」:\ 「巴爾的摩\」,\ 「new_locationid \」:\「0c9c6c6a-F520 -e111-bdd3-00505695001f \ 「}」

+0

很好的問題=>更好的答案 –

+0

你的問題是,對象不具有在json的成員,如果你想轉換爲對象而不使所有成員在costum類使用動態關鍵字:js.Deserialize (json) – Svexo

回答

3

GoBeavs:

這裏我驗證您的JSON:http://jsonlint.com/

你的JSON文本是錯誤的:你必須用括號([])時,你必須將其括起來陣陣yson的。它必須看起來像這樣:

"[{\"new_name\":\"Arlington\",\"new_locationid\":\"089c6c6a-f520-e111-bdd3-00505695001f\"},{\"new_name\":\"Atlanta\",\"new_locationid\":\"0a9c6c6a-f520-e111-bdd3-00505695001f\"},{\"new_name\":\"Baltimore\",\"new_locationid\":\"0c9c6c6a-f520-e111-bdd3-00505695001f\"}]"