在 C# 中将字符串转换为 JSON

2024-02-05

我正在尝试使用简单的 JSON http://wiki.unity3d.com/index.php/SimpleJSON将此字符串转换为 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 这样常见的事情变得更容易访问。有吗?


问题询问如何将字符串转换为 JSON 对象...这可以在不使用类或数据模型的情况下实现,如下所示:

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"

您可以使用 C# 代码的“交互式调试控制台”的一个选项是Xamarin 工作簿... microsoft.com/en-us/xamarin/tools/workbooks/ https://learn.microsoft.com/en-us/xamarin/tools/workbooks/

Xamarin Workbooks 提供了文档和代码的混合,非常适合实验、学习和创建......等等等等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中将字符串转换为 JSON 的相关文章

随机推荐