在C#中加载大型JSON文件

本文关键字:JSON 文件 大型 加载 | 更新日期: 2023-09-27 18:19:40

1)我需要在Windows Phone应用程序上下载一个大的JSON文件,我想在下载时处理JSON,因为否则应用程序只会不断下载JSON,这可能需要10秒或更长时间,有办法做到这一点吗?我已经搜索了两天了,似乎什么都不起作用。。。

2) 有什么简单的方法可以检查这个JSON文件中的新项目吗?它是在线托管的,所以我必须检查是否有新的项目(节点)添加到文件中。

在C#中加载大型JSON文件

  1. 只需询问服务器是否有新内容,并让他只向您发送实际的新内容。它将更少,因此需要在网上传输的数据更少,处理和可视化(如果需要)的时间也更少

  2. 或者创建JSON请求,它以数据包的形式获取数据,并在每个数据包到达后对其进行处理。下载需要更长的时间,因为在处理过程中,您会阻止请求,但它会向用户提供反馈。你可以利用这一点,在本地JS堆栈中推送数据包,继续请求另一个数据包,同时处理上面已经可用的数据包。

1。如果您想逐步解析JSON对象,请查看JSON.NET的JsonReader

请注意,在Windows Phone上,您不能在UI线程上从网络流中提取,但如果您将工作推送到后台线程,则可以(请查看BackgroundWorker)。

2.如果您的web服务器支持它,您可以传递If-None-Match/If-Modified-Since标头,并接受304响应以指示没有任何更改。

但是,这只匹配整个HTTP请求。如果你需要更详细的信息,你可以将你的请求分为:

a) 请求ID和上次修改日期的列表

b) 请求ID列表的详细信息(由应用程序根据修改的日期确定)