2017-01-03 2 views
-3

Ich versuche, ein Wörterbuch in C# mit JSON.NET zu serialisieren und dann in einer Webanwendung zu konsumieren. Dies ist das Format, das ich zurückgegeben habe, aber ich kann es nicht verwenden, da ich nicht glaube, dass es im richtigen Format ist. Ich habe versucht, die folgenden:C# Serialisieren Wörterbuch JSON

Wörterbuch Serialisierung:

[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

Würden Sie bitte Ihre Frage bearbeiten und uns zeigen, wie Sie ein Wörterbuch zu serialisieren versuchen. –

+0

Was meinst du * da ich nicht glaube, dass es im richtigen Format * ist. Welches Format erwartest du? – Liam

+0

Ich erwarte JSON – dismal1290

Antwort

0

enter image description here Nichts ist falsch mit Ihren Daten:

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

Für weitere Informationen: Ein Wörterbuch in ein assoziatives Array analysiert wird (http://www.w3schools.com/js/js_arrays.asp)

+0

habe es gerade versucht, schau dir das beigefügte Bild an. – user1519979

+0

Wenn ich versuche, erneut zu parsen, erhalte ich unerwartetes Token o in JSON an Position 1 bei JSON.parse (). Ich habe JSON.parse in meinem Dienst verwendet. Was ich zur Verfügung gestellt habe, war nach JSON.parse. – dismal1290

+0

Wenn ich es ohne erneutes Parsing versuche, bekomme ich die Eigenschaft 'Name' von undefined nicht lesen können. Wenn ich nur zeige, was der Anruf zurückgibt, bekomme ich, was in der ursprünglichen Frage ist. – dismal1290