2016-12-07 1 views
-2

Ich brauche die folgenden JSON zu erstellen:So erstellen Sie eine neue JSON-Array mit C#

[ 
    { 
     "Name": [ 
     { 
      "First Name": "Adam" 
     }, 
     { 
      "Last Name": "Smith" 
     } 
     ] 
    } 
] 

Bitte helfen, wie ich alles versucht haben, hier und auf json.net

Vielen Dank im Voraus.

+0

das ist, was ich von einem json habe und wie es zu einem neuen json mit der gleichen Struktur neu zu schreiben, obwohl es seltsam aussieht, aber mürrisch soll man sein in der Lage zu schreiben, was auch immer json mit diesen Werkzeugen !! solange es ein gültiger JSON ist !!? –

+0

Nun, ich würde vorschlagen, dass es JSON ungültig ist, da dies eine Sammlung auf NAMES ist, die ein konsistenter Objekttyp sein sollte. Vielleicht kann dies helfen http://www.jsoneditoronline.org/ –

+0

unabhängig von dem Inhalt kann ich Ihnen versichern, dass die Struktur gültig ist –

Antwort

0

Nun ... es lustig ist, wie die Dinge funktionieren, wenn Sie wissen, wie ihre getan :) und hier für diejenigen, die das haben kann gleiches Problem, das ist die Art und Weise, es zu tun:

JObject myObject = 
     new JObject(
      new JProperty("Name", 
         new JArray(
           new JObject(
           new JProperty("First Name", "Adam")), 
           new JObject(
           new JProperty("Last Name", "Smith"))))); 

JArray myArray = new JArray 
myArray.Add(myObject); 
1

BEARBEITETE ANTWORT: Entfernte alte Antwort, die erklärt, was ich dachte, war das Problem mit dem JSON in der Frage. Geändert, um C# Objekte zu erstellen, die über den JSON-String erstellen konnten, habe nicht versucht, aber ich denke, es sollte funktionieren:

Hier sind der C# -Klassen:

public class Name 
{ 
    [JsonProperty(PropertyName = "First Name")] 
    public string FirstName { get; set; } 
    [JsonProperty(PropertyName = "Last Name")] 
    public string LastName { get; set; } 
} 

public class RootObject 
{ 
    [JsonProperty(PropertyName = "Name")] 
    public List<Name> Name { get; set; } 
} 

die Namen Objekte im RootObject erstellen:

var myRootObj = new RootObject(); 
myRootObj.Name = new List<Name>(); 

var firstNameObj = new Name() { FirstName = "Adam" }; 
var secondNameObj = new Name() { LastName = "Smith" }; 

myRootObj.Name.Add(firstNameObject); 
myRootObj.Name.Add(secondNameObject); 

Jetzt können Sie dieses Objekt JSON konvertieren:

var json = JsonConvert.SerializeObject(myRootObj, Newtonsoft.Json.Formatting.None, 
          new JsonSerializerSettings { 
           NullValueHandling = NullValueHandling.Ignore 
          });); 

I haven‘ t versucht, dies aber ich denke, es sollte Ihre JSON-String, wie unten zu erstellen:

{ 
     "Name": [ 
     { 
      "First Name": "Adam" 
     }, 
     { 
      "Last Name": "Smith" 
     } 
     ] 
    } 
+0

Sie haben Recht, aber ich habe diese JSON die Art und Weise, die ich geschrieben habe und muss nur rekonstruieren !!? –

+0

Vielleicht überprüfen Sie dies: http://www.jsoneditoronline.org/ –

+0

vielen Dank für den Link, wie es scheint, ein sehr handliches Werkzeug für die Zukunft zu verwenden, aber leider nicht für das Problem auf der Hand –

Verwandte Themen