如何在ASP.NET中读取JSON?

时间:2012-09-27 17:31:50

标签: asp.net json parsing

我需要一个简单的方法来读取Amazon Affiliates URL的结果,我有Amazon的代码,我得到了一个JSON结果,我无法在ASP.NET中阅读。 是否有一种简单的方法来解析ASP.NET 4.5中的JSON数据?

3 个答案:

答案 0 :(得分:5)

您还可以使用.NET内置JavaScriptSerializer

using System.Web.Script.Serialization;
...
JavaScriptSerializer js = new JavaScriptSerializer();
dynamic obj = js.Deserialize<dynamic>(jsonString);

答案 1 :(得分:2)

您可以根据JObject class

使用Json.net

链接:http://james.newtonking.com/pages/json-net.aspx

对于解析,您可以使用JObject.Parse Method

代码

   var jsonString = @"{""Name"":""Aghilas"",""Company"":""....."",
                        ""Entered"":""2012-03-16T00:03:33.245-10:00""}";

    dynamic json = JValue.Parse(jsonString);

    // values require casting
    string name = json.Name;
    string company = json.Company;
    DateTime entered = json.Entered;

答案 2 :(得分:1)

使用JSON.NET包,它非常简单。

安装包:

打开控制台。 “查看”&gt; “其他Windows”&gt; “包管理器控制台”

然后输入以下内容: 安装包Newtonsoft.Json

您可以将Json对象作为动态对象或强类型对象读取。 如果要将Json类型作为强类型对象读取,可以执行以下操作:

填充数据的类:

public class AmazonAffiliate
{

public string Username {get;set;}

public string Email {get;set;}

public Date BirthDate {get;set;}

}

将Json字符串转换为强类型类的方法:

    public static T GetJsonContent<T>(string jsonAsString)
    {
        var serializer = new JsonSerializer<T>();
        return serializer.DeserializeFromString(jsonAsString);
    }

你可以像这样使用它:

AmazonAffiliate affiliate = GetJsonContent<AmazonAffiliate>(jsonString);