Deserializacja json

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
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

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6967
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

Kopiuj
string text = "{
  "objects": {
    "test1": {
      "hash": "10a54fc66c8f479bb65c8d39c3b62265ac82e742",
    },
    "test2": {
      "hash": "14cfb2f24e7d91dbc22a2a0e3b880d9829320243",
    },
  }
}";
dynamic json = SimpleJson.DeserializeObject(text);
string title = json.objects.Values[0].hash;
D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

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

"Java.JsonObject” nie zawiera definicji „objects"

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6967
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 [].

D1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
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 []

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2518
2

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

J9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

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

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

Kopiuj
    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.

gośćabc
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 500
0

edit:

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

whatever

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.