Autor Beitrag
Dsharp
Hält's aus hier
Beiträge: 4
Erhaltene Danke: 1



BeitragVerfasst: Di 09.09.14 11:12 
Hallo zusammen,

ich möchte einen json string in c# einlesen und dabei ein object struct (array) wie in javascript erstellen. (s. unten).
Ich möchte dann auch in C# entsprechend so zugreifen: (Beispiel)
ausblenden C#-Quelltext
1:
2:
label.text = arrayObject.name;
checkbox.checked = arrayObject.states[0];


Der JSON String muss dann natürlich immer gleich formatiert bleiben.
Daher müssen beide Objekte (C# und JS gleich sein).

Hat jemand eine Idee?


ausblenden JavaScript-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var arrayObject= {
  name:"Test",  
  number: 6;
  states:[0,0,0,0,0,0,0,0,0,0,0,0,0,0],    
  value1:0,                    
  value2:0          
}

// Result of JSON.stringify(arrayObject);
{"name":"","number":6,"states":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"value1":0,"value2":0}


Zuletzt bearbeitet von Dsharp am Mi 10.09.14 15:11, insgesamt 1-mal bearbeitet
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 09.09.14 12:31 
Hallo,

dafür nimmst du am besten die Komponente Json.NET.
Die entsprechende C#-Klasse mußt du dann aber entsprechend manuell erzeugen.

PS: Doku für Json.NET gibt es unter Json.NET Documentation
Dsharp Threadstarter
Hält's aus hier
Beiträge: 4
Erhaltene Danke: 1



BeitragVerfasst: Di 09.09.14 13:54 
Danke, hat wunderbar geklappt.
Hier ein kleines Tutorial von mir:

1. json.net herunterladen (newtonking).
2. Verweis hinzufügen > Durchsuchen > DLL Newtonsoft.Json.dll laden.
3. using Newtonsoft.Json;
4. Eine Klasse bauen die eurer json Struktur entspricht. (Hierzu gibt es auch json2class Converter im Netz).

Beispiel:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
string json = @'{"name":"","number":6,"states":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"value1":0,"value2":0}';
ObjectJson objectJSON = JsonConvert.DeserializeObject<ObjectJson>(json); // convert json to object (class)
string json = JsonConvert.SerializeObject(objectJSON); // convert object (class) to json

public class ObjectJson 
{
    public string name{ get; set; }           
    public int number{ get; set; }            
    public List<int> states{ get; set; }     
    public int value1{ get; set; }              
    public int value1{ get; set; }                 
}


Ich hoffe das hilft dem ein oder anderen weiter.

Für diesen Beitrag haben gedankt: Christian S.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 09.09.14 19:01 
Klasse und super, daß du gleich eine Anleitung hier postest. :zustimm: