使用 c# 读取静态存储在文本文件中的多 JSON 格式数据

本文关键字:JSON 数据 格式 文件 文本 读取 静态 存储 使用 | 更新日期: 2023-09-27 18:32:56

上面提到的JSON数据不会从Web服务或任何其他来自Web的来源获取。我将手动创建一个模板并将 JSON 格式的数据存储在本地计算机的文本文件中。我已经查看了 JSON.net 其中包含完成工作的有用方法。到目前为止我使用的代码如下,它可以正确打印

WebClient w = new WebClient();
var data = w.DownloadString(@"D:'ComponentsJSON.txt");
//Read the file    
JObject j = JObject.Parse(data);
Console.WriteLine("Name: " + j["name"]);
Console.WriteLine("Property1: " + j["property"][0]);
Console.WriteLine("Property2: " + j["property"][1]);

但是上面的内容只能从文本文件中读取一行。当同一个文件中存在多个 Json 元素时,如何做到这一点。

D:''ComponentsJSON.txt 的内容是:

[{"name":"WinWindow", "property" : ["Name","ClassName"], "value": ["MCP","OSCP"]},
{"name":"WinButton", "property" :["Name","ClassName"], "value": ["OK","Button"]}]

使用 c# 读取静态存储在文本文件中的多 JSON 格式数据

Parse 方法用于分析特定对象,而不是反序列化整个文件。如果 JSON 包含一个数组,则需要调用 JArray.Parse。JObject 将只解析单个对象。

要读取任意字符串,请使用 JsonConvert.DeserializeObject 重载之一,例如:

var data=JsonConvert.DeserializeObject(data);

var items=JsonConvert.DeserializeObject<List<MyClass>>(data);

检查 Json.NET 文档中的"序列化集合"