2017-01-03 4 views
-3

Я пытаюсь сериализовать словарь на C# с помощью JSON.NET, а затем использовать его в веб-приложении. Это формат, который я вернул, но я не могу его использовать, поскольку я не думаю, что он в правильном формате. Я попробовал следующее:C# Serialize Dictionary JSON

словарь сериализации:

[JsonExtensionData] 
    public static Dictionary<string, object> objectDictionary = new Dictionary<string, object>(); 
    string parametersJSON = JsonConvert.SerializeObject(objectDictionary, Formatting.Indented); 

var x = get.getData; 
x.p11.Name 

{ 
    "p11": { 
    "Name": "Parameter 1", 
    "Value": "1.00", 
    "Unit": "m", 
    "MinValue": "0.00", 
    "MaxValue": "5.00", 
    "Number": 11, 
    "DefaultValue": "0.00" 
}, 
    "p546": { 
    "Name": "Parameter 2", 
    "Value": "0.0000", 
    "Unit": "Hz", 
    "MinValue": "-480.000", 
    "MaxValue": "480.000", 
    "Number": 546, 
    "DefaultValue": "0.0000" 
}, 
    "p7": { 
    "Name": "Parameter 3", 
    "Value": "0.00", 
    "Unit": "Amps", 
    "MinValue": "0.00", 
    "MaxValue": "44.00", 
    "Number": 7, 
    "DefaultValue": "0.00" 
}} 
+1

Не могли бы вы отредактировать свой вопрос и показать нам, как вы пытаетесь сериализовать словарь. –

+0

Что значит *, поскольку я не думаю, что он в правильном формате *. Какой формат вы ожидаете? – Liam

+0

Я ожидаю, что JSON – dismal1290

ответ

0

enter image description here Ничто не является неправильным с данными:

var x = JSON.parse(jsonstr); 
var name = x["p11"].Name; 

Для получения дополнительной информации: Словарь разбирается в ассоциативный массив (http://www.w3schools.com/js/js_arrays.asp)

+0

просто попробовал, посмотрите на прикрепленную картинку. – user1519979

+0

, когда я снова пытаюсь разобрать, я получаю Неожиданный токен o в JSON в позиции 1 на JSON.parse (). Я использовал JSON.parse в своей службе. То, что я предоставил, было после JSON.parse. – dismal1290

+0

Когда я пытаюсь без синтаксического анализа снова, я получаю Не могу прочитать свойство «Имя» неопределенного. Когда я просто показываю, что возвращает вызов, я получаю то, что находится в исходном вопросе. – dismal1290