将对象文字javascript转换为通用语言c#

时间:2016-08-20 15:17:24

标签: javascript c#

如何使用c#编程语言获取此代码的地址项。我使用过Newstonsoft.Json.JsonConvert.DeserializeObject(Headerdata); 但这是错误的。

<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>

1 个答案:

答案 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"
                    }]
                }
            }
        }
    }
}

请注意,所有键名都已正确用双引号括起来,在配置对象后添加了逗号,并且&#34;地址&#34;现在是数组中的一个对象,而不仅仅是一个数组。

构建要反序列化的对象时,应始终使用正确的序列化程序对其进行序列化。你永远不应该手工制作它。此外,您应该始终使用JSON validator来确保其结构合理。