C# 将json解析成树
时间: 2023-08-03 13:04:33 浏览: 170
你可以使用 Newtonsoft.Json 库来将 JSON 解析成树状结构。下面是一个使用 C# 将 JSON 解析成树的示例代码:
```csharp
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
class Program
{
static void Main()
{
string json = @"{
'name': 'John',
'age': 30,
'address': {
'street': '123 Street',
'city': 'New York'
}
}";
JObject obj = JObject.Parse(json);
// 从根节点开始遍历整个 JSON 树
TraverseJsonTree(obj, "");
// 或者你可以直接访问特定的节点
string name = (string)obj["name"];
int age = (int)obj["age"];
string street = (string)obj["address"]["street"];
string city = (string)obj["address"]["city"];
}
static void TraverseJsonTree(JToken token, string prefix)
{
switch (token.Type)
{
case JTokenType.Object:
foreach (JProperty prop in token.Children<JProperty>())
{
Console.WriteLine($"{prefix}{prop.Name}:");
TraverseJsonTree(prop.Value, prefix + " ");
}
break;
case JTokenType.Array:
foreach (JToken child in token.Children())
{
TraverseJsonTree(child, prefix + " ");
}
break;
default:
Console.WriteLine($"{prefix}{token}");
break;
}
}
}
```
这个示例代码将会输出整个 JSON 树的内容,或者你可以根据需要访问特定节点的值。请确保在使用之前在项目中添加了 Newtonsoft.Json 库的引用。希望对你有帮助!
阅读全文