我想搜索或迭代一个非常庞大的JSon,并在每次出现时找到3个键值对。是否有任何方法或功能可以帮助我这样做?或者甚至可能吗?
我需要找到第一个值,然后从第二个点开始,之后是第三个值,然后是第一个值。 我知道FindAll用于字符串,但将JSon作为字符串处理并不是那么好。
编辑:我正在使用C#
答案 0 :(得分:0)
如果您的数据量很大,我建议您将内容流式传输并进行处理。
为此,您可以使用JsonTextReader
- https://www.newtonsoft.com/json/help/html/ReadJsonWithJsonTextReader.htm
var filePath = Path.GetTempFileName();
File.WriteAllText(filePath, "{bigJson: true}");
var stream = File.Open(filePath, FileMode.Open);
JsonTextReader reader = new JsonTextReader(new StreamReader(stream));
while (reader.Read())
{
if (reader.Value != null)
{
Console.WriteLine("Token: {0}, Value: {1}", reader.TokenType, reader.Value);
}
else
{
Console.WriteLine("Token: {0}", reader.TokenType);
}
}