it-swarm.com.de

Konvertieren einer Zeichenfolge in JSON in C #

Ich versuche, Simple JSON zu verwenden, um diesen String in JSON zu konvertieren:

"{\"objects\":[{\"id\":1,\"title\":\"Book\",\"position_x\":0,\"position_y\":0,\"position_z\":0,\"rotation_x\":0,\"rotation_y\":0,\"rotation_z\":0,\"created\":\"2016-09-21T14:22:22.817Z\"},{\"id\":2,\"title\":\"Apple\",\"position_x\":0,\"position_y\":0,\"position_z\":0,\"rotation_x\":0,\"rotation_y\":0,\"rotation_z\":0,\"created\":\"2016-09-21T14:22:52.368Z\"}]}"

Leider scheint Visual Studio nicht über die Interactive Debugging Console zu verfügen. Platzieren Sie einen Debugger in einer Zeile und betreten Sie diesen Teil des Codes in einer interaktiven Live-Konsole. Wo könnte ich sonst mit der SimpleJSON-Bibliothek experimentieren und sehen, wie dies funktioniert? Korrigiere mich auf jeden Fall, wenn ich falsch liege! 

Wenn das unmöglich wäre, wüsste jemand, wie das zu erreichen ist? Ich habe das ausprobiert:

JSONData jsonData = new JSONData(my_json_string);

Aber das entgeht der Zeichenfolge noch mehr und hält sie eine Zeichenfolge: 

"\"{\\\"objects\\\":[{\\\"id\\\":1,\\\"title\\\":\\\"Book\\\",\\\"position_x\\\":0,\\\"position_y\\\":0,\\\"position_z\\\":0,\\\"rotation_x\\\":0,\\\"rotation_y\\\":0,\\\"rotation_z\\\":0,\\\"created\\\":\\\"2016-09-21T14:22:22.817Z\\\...

Ich bin neu in C #, aber ich bin überrascht, dass es nichts Unheimliches in C # gibt, das etwas so allgemeines machen würde wie das Analysieren von JSON. Ist dort eines?

7
Trip

Erstellen Sie zunächst Ihr Datenmodell. Sie können json2sharp verwenden, ein sehr hilfreiches Werkzeug.

public class Item
{
    public int id { get; set; }
    public string title { get; set; }
    public int position_x { get; set; }
    public int position_y { get; set; }
    public int position_z { get; set; }
    public int rotation_x { get; set; }
    public int rotation_y { get; set; }
    public int rotation_z { get; set; }
    public string created { get; set; }
}

Verwenden Sie als Nächstes Newtonsoft.Json und rufen Sie die deserialize-Methode auf. 

var list = JsonConvert.DeserializeObject<List<Item>>(Yourjson);
11
M. Wiśnicki

Haben Sie Systemprogramme ausprobiert?

Wie dieses https://msdn.Microsoft.com/ru-ru/library/system.json.jsonvalue.parse%28v=vs.95%29.aspx

Sie können verwenden 

public static JsonValue Parse(string jsonString)

von JsonValue class und cast dann zu jsonobject oder irgendetwas, das du willst.

0
Amir Rasulov

In der Frage wird gefragt, wie eine Zeichenfolge in ein JSON-Objekt konvertiert wird. Dies kann wie folgt ohne Verwendung einer Klasse oder eines Datenmodells erreicht werden:

using Newtonsoft.Json;

string str = "{\"objects\":[{\"id\":1,\"title\":\"Book\",\"position_x\":0,\"position_y\":0,\"position_z\":0,\"rotation_x\":0,\"rotation_y\":0,\"rotation_z\":0,\"created\":\"2016-09-21T14:22:22.817Z\"},{\"id\":2,\"title\":\"Apple\",\"position_x\":0,\"position_y\":0,\"position_z\":0,\"rotation_x\":0,\"rotation_y\":0,\"rotation_z\":0,\"created\":\"2016-09-21T14:22:52.368Z\"}]}";
dynamic json = JsonConvert.DeserializeObject(str);

Nun können Sie auf die Json-Inhalte wie folgt zugreifen:

json["objects"][0]["title"];

returns "Book"

Eine Option für eine "Interactive Debugging Console", in der Sie mit C # -Code herumspielen können, ist Xamarin Workbooks ... Microsoft.com/en-us/xamarin/tools/workbooks/

Xamarin Workbooks bieten eine Mischung aus Dokumentation und Code, die sich perfekt zum Experimentieren, Lernen und Erstellen eignet ... bla bla bla 

0
RumbleFish