2016-08-20 3 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 точно. на самом деле я тоже запутался с кодом. потому что это не было json –