【发布时间】:2015-10-27 16:28:21
【问题描述】:
我想知道如何反序列化 json 数组并将其显示在 RichTextbox 上。我正在调用 API 来获取 JSON 数组。有人可以帮我解决这个问题。我已将其放入列表中,但我不确定我是否正确完成了它。
Form1.cs
private void btnStart_Click(object sender, EventArgs e)
{
runapi("http://localhost:8080/json_coordinates");
}
public void runapi(string api)
{
try
{
WebRequest request = WebRequest.Create(api);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string json = reader.ReadToEnd();
obj.DeserializeJsonDes(json);
// Help me fill it up to display data on the richTextBox
//richTextBox1.Text = responseFromServer;
reader.Close();
dataStream.Close();
response.Close();
}
catch (Exception ex)
{
}
}
类 JsonDes
class JsonDes
{
public List<JsonDes> name { get; set; }
public List<JsonDes> coordinates { get; set; }
public List<JsonDes> DeserializeJsonDes(string jsonArray)
{
//return JsonConvert.DeserializeObject<JsonDes>(json);
return JsonConvert.DeserializeObject<List<JsonDes>>(jsonArray);
}
}
传入的原始JSON具有以下结构:
[{'name' : 'Train 1', 'coordinates' : '38.892802, -77.061945'},
{'name' : 'Train 2', 'coordinates' : '38.941686, -77.134043'}]
【问题讨论】:
-
输出是什么,输出应该是什么?标题也与问题正文不匹配
-
你收到的 JSON 是什么。你的类定义没有显示太多
-
我的 Json 数组看起来像这样 [{'name' : 'Train 1', 'coordinates' : '38.892802, -77.061945'},{'name' : 'Train 2', 'coordinates' : '38.941686, -77.134043'}] 我想在richTextBox中显示名称和坐标
-
@AshanWijenayake 我们想看
JsonDes结构 -
@Navonel 如果我有一个像我在评论中发布的那样的 json 数组,我如何使用 JsonConvert 在 TextBox 或 RichTextBox 中显示数据?
标签: c# arrays json list deserialization