AstralisSomnium AstralisSomnium - 4 months ago 42
C# Question

C# Parsing JSON array of objects

I have an array of objects like this in


{"results":[{"SwiftCode":"","City":"","BankName":"Deutsche Bank","Bankkey":"10020030","Bankcountry":"DE"},{"SwiftCode":"","City":"10891 Berlin","BankName":"Commerzbank Berlin (West)","Bankkey":"10040000","Bankcountry":"DE"}]}

What I want to get is a
in C#, where one object contains all the data what is in one json object. The thing is, I can NOT make a class with the properties of this object like here:

public class Result
public int SwiftCode { get; set; }
public string City { get; set; }
// .
// .
public string Bankcountry { get; set; }

Because I get everytime different results back, but I know it's always an array of objects. Someone knows how I could manage to get an array of objects back?


I have to pass this object to powershell via
. So the ouput should only be the object IN the


Use newtonsoft like so:

using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json.Linq;

class Program
    static void Main()
        string json = "{'results':[{'SwiftCode':'','City':'','BankName':'Deutsche    Bank','Bankkey':'10020030','Bankcountry':'DE'},{'SwiftCode':'','City':'10891    Berlin','BankName':'Commerzbank Berlin (West)','Bankkey':'10040000','Bankcountry':'DE'}]}";

        var resultObjects = AllChildren(JObject.Parse(json))
            .First(c => c.Type == JTokenType.Array && c.Path.Contains("results"))

        foreach (JObject result in resultObjects) {
            foreach (JProperty property in result.Properties()) {
                // do something with the property belonging to result

    // recursively yield all children of json
    private static IEnumerable<JToken> AllChildren(JToken json)
        foreach (var c in json.Children()) {
            yield return c;
            foreach (var cc in AllChildren(c)) {
                yield return cc;