我对 JSON 非常陌生,我需要解析 API 提供的一些内容。谷歌快速搜索出现了JSON.NET http://james.newtonking.com/pages/json-net.aspx,所以我现在尝试使用它将此 JSON 解析为列表对象。首先,JSON.NET 是最好用的库吗为了这?
这就是我想做的:我有一个名为 Item 的类, 例如。 json 有许多“元素”(如果这就是它们的名称),并且每个元素包含3个字段:一个名为 id 的整数、一个名为 name 的字符串和一个名为creationTime 的日期时间。我想从 json 中解析所有这些 Item“元素”进入 Item 对象列表。我在 Item 类中创建了 3 个字段来匹配 JSON。如何使用 JSON.NET 来完成此操作?
我试过了:
List<Item> fav = (List<Item>)new JsonSerializer().Deserialize(new JsonReader((TextReader)new StreamReader(response.GetResponseStream())));
但它似乎不起作用。我收到一个转换错误 - 它只是无法将其处理为列表附件,但我什至不确定它是否能够将 JSON 处理为一个 Item 类(JSON.NET 没有详细记录,但我'我明天将对其进行大量调试)。
您能给我一些示例代码来解释如何使用 JSON.NET 解析它吗?
Thanks!
UPDATE:顺便说一句,忘了提及 - 我的项目将面向 .NET Framework 2.0,因此我使用的是 JSON.NET 的旧版本:1.3.1。是否有任何巨大的优势可以使项目值得转换为 .NET 3.5,同时破坏最低的系统要求?
更新#2:我决定在 System.Web.Extensions.dll 中使用 JavascriptSerializer 类而不是 JSON.NET,并且发布了一个关于该问题的问题here https://stackoverflow.com/questions/1450513/using-system-web-script-serialization-javascriptserializer-to-deserialize-json。谢谢!
我意识到这个问题大约有 3 年历史了,但我想我只是补充一点,如果你想构建一个基于 JSON 的 Api,NancyFx 非常棒:http://nancyfx.org/ http://nancyfx.org/
编辑:
根据要求提供一个示例,非常简单。首先,只需通过 NuGet 将 nancyfx asp 包添加到 Web 项目即可。 (如果您要将其添加到子路径上的现有应用程序中,则需要向 web.config 添加一个位置,否则就可以开始了)
using Nancy;
using Nancy.ModelBinding;
public class Api : NancyModule
{
public Api()
{
Get["/api/order/create"] = x =>
{
var order = this.Bind<Order>(); //xml/json negotiated based on content header
var result = ... // Do stuff here
return Response.AsJson(result);
};
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)