在 C# 中将字符串转换为 JSON
Converting a string to JSON in C#
我正在尝试使用 Simple JSON 将此字符串转换为 JSON :
"{\"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\"}]}"
不幸的是,Visual Studio 似乎没有交互式调试控制台。比如,将调试器放在一条线上,然后在实时交互式控制台中单步执行该部分代码。否则我就可以在 SimpleJSON 的库中进行实验,看看如何让它工作。无论如何,如果我错了,请纠正我!
虽然那是不可能的,但有人知道如何实现吗?我试过这个:
JSONData jsonData = new JSONData(my_json_string);
但这会进一步转义字符串并将其保留为字符串:
"\"{\\"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\\...
我是 C# 的新手,但令我惊讶的是,C# 没有任何原生功能可以使像解析 JSON 这样常见的东西更易于访问。有吗?
首先,创建数据模型。您可以使用 json2sharp,非常有用的工具。
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; }
}
接下来使用Newtonsoft.Json
并调用反序列化方法。
var list = JsonConvert.DeserializeObject<List<Item>>(Yourjson);
您尝试过系统实用程序吗?
喜欢这个https://msdn.microsoft.com/ru-ru/library/system.json.jsonvalue.parse%28v=vs.95%29.aspx
您可以使用
public static JsonValue Parse(string jsonString)
从 JsonValue
class 然后转换为 jsonobject 或任何你想要的。
题目问的是如何将一个字符串转换成一个JSON对象...这个可以不使用Class或者数据模型来实现,如下:
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);
现在,您可以按如下方式访问json内容:
json["objects"][0]["title"];
returns "Book"
"Interactive Debugging Console" 可以使用 C# 代码的一个选项是 Xamarin Workbooks...
microsoft.com/en-us/xamarin/tools/workbooks/
Xamarin Workbooks provide a blend of documentation and code that is perfect for experimentation, learning, and creating... blah blah blah
我正在尝试使用 Simple JSON 将此字符串转换为 JSON :
"{\"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\"}]}"
不幸的是,Visual Studio 似乎没有交互式调试控制台。比如,将调试器放在一条线上,然后在实时交互式控制台中单步执行该部分代码。否则我就可以在 SimpleJSON 的库中进行实验,看看如何让它工作。无论如何,如果我错了,请纠正我!
虽然那是不可能的,但有人知道如何实现吗?我试过这个:
JSONData jsonData = new JSONData(my_json_string);
但这会进一步转义字符串并将其保留为字符串:
"\"{\\"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\\...
我是 C# 的新手,但令我惊讶的是,C# 没有任何原生功能可以使像解析 JSON 这样常见的东西更易于访问。有吗?
首先,创建数据模型。您可以使用 json2sharp,非常有用的工具。
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; }
}
接下来使用Newtonsoft.Json
并调用反序列化方法。
var list = JsonConvert.DeserializeObject<List<Item>>(Yourjson);
您尝试过系统实用程序吗?
喜欢这个https://msdn.microsoft.com/ru-ru/library/system.json.jsonvalue.parse%28v=vs.95%29.aspx
您可以使用
public static JsonValue Parse(string jsonString)
从 JsonValue
class 然后转换为 jsonobject 或任何你想要的。
题目问的是如何将一个字符串转换成一个JSON对象...这个可以不使用Class或者数据模型来实现,如下:
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);
现在,您可以按如下方式访问json内容:
json["objects"][0]["title"];
returns "Book"
"Interactive Debugging Console" 可以使用 C# 代码的一个选项是 Xamarin Workbooks... microsoft.com/en-us/xamarin/tools/workbooks/
Xamarin Workbooks provide a blend of documentation and code that is perfect for experimentation, learning, and creating... blah blah blah