如何使用 Newtonsoft.JSON 解析 JSON 响应? [复制]
Posted
技术标签:
【中文标题】如何使用 Newtonsoft.JSON 解析 JSON 响应? [复制]【英文标题】:How to parse JSON response using Newtonsoft.JSON? [duplicate] 【发布时间】: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);
?>
我还希望它显示在列表中。
【问题讨论】:
【参考方案1】:使用http://json2csharp.com/
创建您的JsonClasse
或使用visual studio => edit => special past
并使用Newtonsoft.Json.JsonConvert.DeserializeObject<jsonClass>(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# 对象一样简单地处理它。以上是关于如何使用 Newtonsoft.JSON 解析 JSON 响应? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Newtonsoft.Json 解析 JSON 时出错
C# unity (发布到安卓端中使用)解析json字符串—使用微软官方的包Newtonsoft.Json
C# unity (发布到安卓端中使用)解析json字符串—使用微软官方的包Newtonsoft.Json