Deserializacja json

0

Witam,
Tak jak w temacie mam problem z json, polega on na tym ze próbuje odczytac wartosc hash bez znania nazwy test1.
Oto json:

{
"objects": {
"test1": {
"hash": "10a54fc66c8f479bb65c8d39c3b62265ac82e742",
},
"test2": {
"hash": "14cfb2f24e7d91dbc22a2a0e3b880d9829320243",
},
}
}

Aby deserializowac json uzywam Newtonsoft.Json.
Ogólnie deserializacje json rozumiem ale na tym poległem

0

Wydaje mi się, że mógłbyś to zrobić SimpleJson'em, tak analogicznie do pierwszej odpowiedzi stąd: http://stackoverflow.com/questions/8738031/deserializing-json-using-json-net-with-dynamic-data

string text = "{
  "objects": {
    "test1": {
      "hash": "10a54fc66c8f479bb65c8d39c3b62265ac82e742",
    },
    "test2": {
      "hash": "14cfb2f24e7d91dbc22a2a0e3b880d9829320243",
    },
  }
}";
dynamic json = SimpleJson.DeserializeObject(text);
string title = json.objects.Values[0].hash;
0

Zrobiłem tak jaj napisałeś i pokazuje błąd:

"Java.JsonObject” nie zawiera definicji „objects"

0

http://stackoverflow.com/questions/18833090/how-to-display-data-from-json-with-simplejson-c-sharp -> spróbuj się odwoływać tak jak autor wątku, przez operator [].

0

Zrobiłem tak i teraz pokazuje się jeszcze kolejny błąd

„System.Collections.Generic.Dictionary<string,object>.ValueCollection” nie można zastosować indeksowania przy użyciu konstrukcji []

2

Może jeszcze tyłek Ci podetrzec? Naucz sie korzystac z dokumentacji.

0

Do deserializacji możesz skorzystać z generatorów online:

http://jsonutils.com/
https://jsonclassgenerator.codeplex.com/
Wklejając w nim JSON otrzymujesz klasy:

    public class Test1
    {
        public string hash { get; set; }
    }

    public class Test2
    {
        public string hash { get; set; }
    }

    public class Objects
    {
        public Test1 test1 { get; set; }
        public Test2 test2 { get; set; }
    }

    public class Example
    {
        public Objects objects { get; set; }
    }

Jest to przydatne jeśli twój JSON jest dość złożony.

0

edit:

ups dałem się wkopać w jakieś stare posty :)

whatever

1 użytkowników online, w tym zalogowanych: 0, gości: 1