【发布时间】:2017-02-04 23:52:41
【问题描述】:
我正在尝试使用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 等常见的东西更容易访问。有吗?
【问题讨论】:
-
那个字符串是json。 JSon 不是什么神奇的对象,它是一种字符串可以是的格式,在这种情况下,您可以将该字符串称为 json 字符串。它转义更多的原因是因为它试图将输入的字符串格式化为 json,以便在反序列化时再次获得输入。
-
“但是这会更多地转义字符串并保持字符串”,不正确,请参阅this post。您可以在调试时使用中间窗口来测试您的代码。
-
使用 Newtonsoft JSON 序列化和反序列化 JSON。这很容易且有据可查。
-
@Glubus 但我不能只对字符串执行
object[0] -
没错,因为 json 不是对象。如果您想将该 json 字符串 convert 转换为 object,那么您需要 deserialize 该字符串,例如通过一个库来实现。
标签: c# json simplejson