Parsen von Json mit mehreren Objekten newtonsoft

Versuche ich zu analysieren, ein ziemlich verworrenes/unnötig komplizierte JSON-Ausgabe mit newtonsoft in C# jedoch für einige Grund mein parser immer null zurückgibt und nicht aufwendige, wie genau, warum dies der Fall ist.

Ein Beispiel für eine JSON-Datei, die ich versuche zu analysieren:

   {
    "response": {
        "success": 1,
        "current_time": 1362339098,
        "prices": {
            "35": { 
                "11": { 
                    "0": { 
                        "current": {
                            "currency": "keys",
                            "value": 39,
                            "value_high": 41,
                            "date": 1357515306 
                        },
                        "previous": { 
                            "currency": "keys",
                            "value": 37,
                            "value_high": 39
                        }
                    }
                },
                "3": { 
                    "0": { 
                        "current": {
                            "currency": "metal",
                            "value": 0.33,
                            "value_high": 0.66
                        }
                    }
                }
            },
            "5002": { 
                "6": {
                    "0": {
                        "current": {
                            "currency": "usd",
                            "value": 0.39,
                            "value_high": 0.42,
                            "date": 1358090106
                        }
                    }
                }
            },                          
            "5022": {
                "6": {
                    "1": { 
                        "current": {
                            "currency": "metal",
                            "value": 1.33,
                            "value_high": 1.55,
                            "date": 1357515175
                        }
                    }
                }
            }
        }
    }
}

Und der C# - parser, den ich verwende. Ich führe das getCurrentPrices() zur Rückgabe eines PriceParser Objekt, sondern das Objekt zurückgegeben wird, ist immer null.

using System;
using System.Collections.Generic;
using System.IO;
using Newtonsoft.Json;
using System.Diagnostics;

namespace SteamBot
{
    class PriceParser
    {
        //Methods
        public PriceParser updatePrices()
        {
            var json = File.ReadAllText("test.json");
            ParserResult result = JsonConvert.DeserializeObject<ParserResult>(json);
            return result.result;
        }

        public Data currentPrices { get; set; }

        //DATA
        public class Data
        {
            public Response Response { get; set; }
        }

        public class Response 
        {
           public string success { get; set; }
           public string current_time {get; set;}
          public List<Price> prices { get; set;}
        }

        public class Price
        {
            public int defindex { get; set; }
            public int quality { get; set; }
            public Current current { get; set; }
            public Previous previous { get; set; }
        }

        public class Current
        {
            public string currency { get; set; }
            public float value { get; set; }
            public float value_high { get; set; }
            public int date { get; set; }
        }

        public class Previous
        {
            public string currency { get; set; }
            public float value { get; set; }
            public float value_high { get; set; }
            public int date { get; set; }
        }

        protected class ParserResult
        {
            public PriceParser result { get; set; }
        }
    }
}

Ich bin wahrscheinlich einfach nur etwas fehlt blöd, aber für das Leben von mir ich kann nicht herausfinden, was, wer mehr JSON-Gerangel Erfahrung wissen, was hier Los ist?

InformationsquelleAutor pavja2 | 2013-11-06
Schreibe einen Kommentar