2016-08-20 66 views
0

如何使用c#編程語言獲取此代碼的地址項目。我用過Newstonsoft.Json.JsonConvert.DeserializeObject(Headerdata); 但它是錯誤的。將對象文字javascript轉換爲通用語言c#

<script> 
 
    var Headerdata = { 
 
    config : { debug : false } 
 
    data :{ 
 
      "UserData" : {"Name":"Mahtub","server":" mainSever", "isAdmin":true }, 
 
      "mainData" : { 
 
      "id": 02134346546 , 
 
      "unitData" :{ 
 
       "units" :6, 
 
       "pageData":{ 
 
       "UserName":"Admin", 
 
        "Address":[ 
 
        "city":"eastJava", 
 
        "country":"Indonesia" 
 
        ] 
 
       } 
 
      } 
 
     } 
 
    
 
    } 
 
    } 
 
</script>

+0

您正在嘗試使用數組作爲對象,而不是將數組格式化爲對象。 – Script47

+0

你得到了什麼錯誤? – DWright

+0

Newtonsoft.Json.JsonReaderException:解析值時遇到意外的字符:<。路徑'',第0行,位置0. 我知道了,當我運行單元測試? –

回答

0

你有錯誤的一個令人難以置信的數量與該對象,因爲它不是有效的JSON(也不是即使一個有效的對象結構)。爲了立即解析對象而不首先將其序列化到JSON,它需要進行更新如下:

{ 
    "config": { 
     "debug": false 
    }, 
    "data": { 
     "UserData": { 
      "Name": "Mahtub", 
      "server": " mainSever", 
      "isAdmin": true 
     }, 
     "mainData": { 
      "id": "02134346546", 
      "unitData": { 
       "units": 6, 
       "pageData": { 
        "UserName": "Admin", 
        "Address": [{ 
         "city": "eastJava", 
         "country": "Indonesia" 
        }] 
       } 
      } 
     } 
    } 
} 

注意,所有的鍵名已妥善雙引號括起來,在配置後加入一個逗號對象,而「地址」現在是數組內的一個對象,而不僅僅是一個數組。

當您構建一個您想要反序列化的對象時,應始終使用適當的序列化器對其進行序列化。你不應該手工製作它。此外,您應該始終使用JSON validator以確保其結構合理。

+0

哦,不,您更改了代碼 –

+0

@ R.Mahtub是的,因爲您的代碼不正確。你不能反序列化格式不正確的東西。就這麼簡單。 –

+0

它是JavaScript不是完全。其實我也對代碼感到困惑。因爲它不是json –

相關問題