【问题标题】:How to parse JSON response using Newtonsoft.JSON? [duplicate]如何使用 Newtonsoft.JSON 解析 JSON 响应? [复制]
【发布时间】:2014-03-21 11:20:23
【问题描述】:

我是 C# Windows Phone 编程的初学者。我正在开发一个应用程序,在该应用程序中,我使用 Web 客户端从站点获取 JSON 响应,但我不知道如何解析它。
你能帮我解决这个问题吗?

代码:

public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void btnRefreshTweets_Click(object sender, RoutedEventArgs e)
        {
            string winPhoneGeekTweetsUrl = @"http://ffff.xxxx.nxt/wpjson.php";

            WebClient webClient = new WebClient();
            webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
            webClient.DownloadStringAsync(new Uri(winPhoneGeekTweetsUrl));
        }

        void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                return;
            }
            MessageBox.Show(e.Result );//-->this is where JSON response is displayed


          }
    }

wpjson.php

<?php
mysql_connect("mysql2.000webhost.com","12345","12345");
mysql_select_db("a1111111_forms");
$sql=mysql_query("SELECT * FROM newstable");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
    echo json_encode($output);
?>

我还希望它显示在列表中。

【问题讨论】:

    标签: c# json visual-studio-2012 windows-phone-8


    【解决方案1】:

    使用http://json2csharp.com/ 创建您的JsonClasse

    或使用visual studio =&gt; edit =&gt; special past

    并使用Newtonsoft.Json.JsonConvert.DeserializeObject&lt;jsonClass&gt;(result);

    【讨论】:

      【解决方案2】:

      复制所有的json。

      创建任何名称的新类,将其命名为“jsonClass”,然后在该类中转到编辑-> 粘贴特殊-> 将 json 粘贴为类。

      Visual Studio 会根据你的 json 字符串自动为你生成类。

      你可以根据你的json字符串手动改正。

      将你的 json 字符串放入一个变量名中。

      jsonClass posts2 = Newtonsoft.Json.JsonConvert.DeserializeObject<jsonClass>(result.ToString());
      

      它将您的 json 字符串映射到 C# 对象。

      【讨论】:

      • 我正在动态获取 JSON 数据
      • 其中必须有特定的模式。例如,在第一次通话时我得到这个字符串 {“id”:“1492292372”,“first_name”:“Yawar”},第二次我得到这个 {“id”:“1492292372”,“last_name”:“Yawar”} 所以我的课会像这个 public class jsonClass {string id {get;设置;}字符串first_name {get;设置;}字符串姓氏{get;设置;}}
      • NewtonSoft 会根据名称自动映射字符串,所以你应该将变量命名相同。
      • 完成所有如何显示它
      • 像 C# 对象一样简单地处理它。
      猜你喜欢
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多