问题描述
嗨
我正在尝试从http地址读取内容,并从那里解析Json字符串.
它说它不能从system.IO.Stream转换为字符串.
它的"List<collectiondataweeks> weeks = Newtonsoft.Json.JsonConvert.DeserializeObject<list><collectiondataweeks>>(json);"
中的(Json)"不能识别为字符串.我想念什么?
Hi
I''m trying to read from a http address and from there parse in a Json string.
It says it cannot convert from system.IO.Stream to string.
Its the "(Json)" in "List<collectiondataweeks> weeks = Newtonsoft.Json.JsonConvert.DeserializeObject<list><collectiondataweeks>>(json);"
it doesn''t recognize as a string. What am I missing?
public class collectionDataWeeks
{
public string week { get; set; }
public string mothertext { get; set; }
public string babytext { get; set; }
}
private void myButton1_Click(object sender, RoutedEventArgs e)
{
string weekNumber = "2";
string uriHost = "http://.....php?id=";
string uriGet = uriHost + weekNumber;
var client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(returnJson);
client.OpenReadAsync(new Uri(uriGet));
}
private void returnJson (object sender, OpenReadCompletedEventArgs e)
{
var json=e.Result;
List<collectiondataweeks> weeks = Newtonsoft.Json.JsonConvert.DeserializeObject<list><collectiondataweeks>>(json);
string uge = "2";
var varWeeks = weeks.Where(x => x.week == uge);
foreach (collectionDataWeeks itm in varWeeks)
{
textBoxWeek0.Text = itm.week;
}
}
推荐答案
private void returnJson(object sender, OpenReadCompletedEventArgs e)
{
Stream stream = e.Result;
StreamReader itmStreamReader = new StreamReader(stream);
string json = itmStreamReader.ReadToEnd();
List<collectiondataweeks> weeks = Newtonsoft.Json.JsonConvert.DeserializeObject<list><collectiondataweeks>>(json);
stream.Close();
itmStreamReader.Close();
string uge = "2";
}
...
现在一切正常,并且Json作为字符串从URL返回.
[edit]添加了代码块[/edit]
...
Now everything works and the Json is returned from the URL as a string.
[edit]code block added[/edit]
这篇关于检索Json文件并将字符串解析为C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!