如何使用Newtonsoft.JSON解析JSON响应?

时间:2014-03-21 11:20:24

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

我是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);
?>

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

2 个答案:

答案 0 :(得分:1)

复制所有json。

创建任何名称的新类,将其称为“jsonClass”并在该类中转到edit-&gt; paste special-&gt;将json粘贴为类。

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

OR

您可以根据您的json字符串手动设置它。

将json字符串变为其结果的变量名。

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

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

答案 1 :(得分:1)

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

或使用visual studio => edit => special past

并使用Newtonsoft.Json.JsonConvert.DeserializeObject<jsonClass>(result);