【问题标题】:How to parse json from html page?如何从html页面解析json?
【发布时间】:2017-08-02 19:01:20
【问题描述】:

我想得到一个网页(它是一个服务器),上面有 json 格式的信息。

我得到了上述页面,如果我检查名为 json 的变量,我发现它包含正确的 json 文本。

问题是:如何解析这个 JSON 信息

详细信息:我有一个 WPF 应用程序,当我按下一个按钮时,我希望在文本块中获得一些来自 JSON 的信息 - 但不是所有信息,例如,只有一个字段。另外,我不能提前复制文件中的代码,因为网页正在更新,我需要每隔一段时间加载一次。 此代码获取页面和 JSON 代码:

  private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        using (var webClient = new System.Net.WebClient())
        {
            var json = webClient.DownloadString((My_Url));
            Newtonsoft.Json.Linq.JObject o = Newtonsoft.Json.Linq.JObject.Parse(json);
            json = Encoding.UTF8.GetString(webClient.DownloadData(My_Url));
            List1.Text = json.ToString();

        }
    }

这是示例 json 代码:

{ "response": { "status": {"ok", "data": { "30" : {"title":{ "London", "Country": "Britain"}, "24": {"title":"Paris", "Country": "France"} }}

所以我想在我的列表框中看到“伦敦,巴黎”的列表

【问题讨论】:

  • 你能发布一个你试图解析的 json 样本吗?
  • @DStanley 是的,我明天会,现在我无法访问此服务器
  • 看起来您正在下载相同的数据两次?如果你得到一个 JObject,你可以检查并从中获取数据。
  • @crashmstr 我不知道如何获取这些数据
  • List.Text = (string)o["property1"]["childProp"]? LINQ to JSON(你找到了足够的信息来获取JObject.Parse(json)

标签: c# json parsing


【解决方案1】:

我想你想反序列化那个 json。

List1.Text = JsonConvert.DeserializeObject<string>(json);

【讨论】:

  • 谢谢!但是我有一个异常“解析值时遇到了意外的有效
  • 当您不将 json 传递给 json 反序列化器时会引发错误,请看:stackoverflow.com/questions/23259173/…
  • 我应该使用什么建议?我尝试实现 File.ReadAllText,但是出现了不支持 URI 的异常。所以现在我希望列表框显示我的 json 的“标题”列表(伦敦和巴黎)
  • 首先,流程是什么?你想做什么?
  • 在之前的评论中回答了
猜你喜欢
  • 1970-01-01
  • 2012-12-18
  • 2011-07-06
  • 2014-01-08
  • 1970-01-01
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多