在C#中解析JSON

在C#中解析JSON

我试图解析GoogleAjaxSearchAPI中的一些JSON数据。我有过这个URL我想把它分解,以便显示结果。我目前已经编写了这段代码,但是对于下一步要做什么,我非常困惑,尽管有许多使用简化JSON字符串的示例。

作为C#和.NET的新手,我一直在努力为我的ASP.NET页面获得真正的文本输出,因此建议我尝试一下JSON.NET。有人能指出正确的方向吗?只需编写一些从GoogleAjaxSearchAPI中获取JSON并将其打印到屏幕上的代码即可。


编辑:都修好了!所有结果都很好。再次感谢Dreas Grech!

    protected void Page_Load(object sender, EventArgs e)
    {
        GoogleSearchResults g1 = new GoogleSearchResults();
        g1 = JSONHelper.Deserialise<GoogleSearchResults>(json);
        Response.Write(g1.content);
    }}public class JSONHelper{
    public static T Deserialise<T>(string json)
    {
        T obj = Activator.CreateInstance<T>();
        MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
        DataContractJsonSerializer serialiser = new DataContractJsonSerializer(obj.GetType());
        ms.Close();
        return obj;
    }}/// Deserialise from JSON[Serializable]public class GoogleSearchResults{
    public GoogleSearchResults() { }
    public GoogleSearchResults(string _unescapedUrl, string _url, string _visibleUrl, string _cacheUrl, string _title, string 
    _titleNoFormatting, string _content)
    {
        this.unescapedUrl = _unescapedUrl;
        this.url = _url;
        this.visibleUrl = _visibleUrl;
        this.cacheUrl = _cacheUrl;
        this.title = _title;
        this.titleNoFormatting = _titleNoFormatting;
        this.content = _content;
    }

    string _unescapedUrl;
    string _url;
    string _visibleUrl;
    string _cacheUrl;
    string _title;
    string _titleNoFormatting;
    string _content;

    [DataMember]
    public string unescapedUrl    {
        get { return _unescapedUrl; }
        set { _unescapedUrl = value; }
    }

    [DataMember]
    public string url    {
        get { return _url; }
        set { _url = value; }
    }

该代码目前编译和运行完美,但没有返回任何结果。有人能帮我把我需要的东西还回去吗?结果可以打印到屏幕上吗?

编辑:

Json.NET使用与上面示例相同的JSON和类工作。

GoogleSearchResults g1 = JsonConvert.DeserializeObject<GoogleSearchResults>(json);

链接:用Json.NET序列化和反序列化JSON

相关

C#-将json格式的数据解析为嵌套的哈希表
解析JSON数组


波斯汪
浏览 2076回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP