反序列化json C#
我的建议如下:反序列化json C#,c#,json,C#,Json,我的建议如下: {"data":[{"name":"123","pwd":123},{"name":"456","pwd":456},{"name":"789","pwd":789}],"duration":5309,"query":"myquery","timeout":300} namespace Test { public class Info { public string name{ get; set; } public st
{"data":[{"name":"123","pwd":123},{"name":"456","pwd":456},{"name":"789","pwd":789}],"duration":5309,"query":"myquery","timeout":300}
namespace Test
{
public class Info
{
public string name{ get; set; }
public string pwd{ get; set; }
}
public class Product
{
public Info[] data { get; set; }
public int duration { get; set; }
public string query { get; set; }
public int timeout { get; set; }
}
//code here, function start etc.
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new
StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Product myprod = JsonConvert.DeserializeObject<Product>(result);
var results = myprod.data;
}
}
使用我正在反序列化它,如下所示:
{"data":[{"name":"123","pwd":123},{"name":"456","pwd":456},{"name":"789","pwd":789}],"duration":5309,"query":"myquery","timeout":300}
namespace Test
{
public class Info
{
public string name{ get; set; }
public string pwd{ get; set; }
}
public class Product
{
public Info[] data { get; set; }
public int duration { get; set; }
public string query { get; set; }
public int timeout { get; set; }
}
//code here, function start etc.
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new
StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Product myprod = JsonConvert.DeserializeObject<Product>(result);
var results = myprod.data;
}
}
名称空间测试
{
公共类信息
{
公共字符串名称{get;set;}
公共字符串pwd{get;set;}
}
公共类产品
{
公共信息[]数据{get;set;}
公共整数持续时间{get;set;}
公共字符串查询{get;set;}
公共int超时{get;set;}
}
//代码在这里,功能启动等。
var httpResponse=(HttpWebResponse)httpWebRequest.GetResponse();
使用(var streamReader=new)
StreamReader(httpResponse.GetResponseStream())
{
var result=streamReader.ReadToEnd();
Product myprod=JsonConvert.DeserializeObject(结果);
var结果=myprod.data;
}
}
结果的值是{Test.Info[0]},其中Test是我的命名空间名称。如何获取实际数据?您的信息类应该是
public class Info
{
public string name { get; set; }
public int pwd { get; set; }
}
这应该行得通
var testJson = "{\"data\":[{\"name\":\"123\",\"pwd\":123},{\"name\":\"456\",\"pwd\":456},{\"name\":\"789\",\"pwd\":789}],\"duration\":5309,\"query\":\"myquery\",\"timeout\":300}";
var product = JsonConvert.DeserializeObject<Product>(testJson);
var testJson=“{\'data\':[{\'name\':\'123\',\'pwd\':123},{\'name\':\'456\',\'pwd\':456},{\'name\':'789\',\'pwd\':789}],\'duration\':5309,\'query\':'myquery\','timeout\':300};
var product=JsonConvert.DeserializeObject(testJson);
要么你发布了错误的json,要么你发布了错误的类-这不是为给定的jsonWTF生成相同问题的原因,一天两次?是的,那是因为我还没有找到解决方案,在写问题的时候有一个打字错误,apologies@SergeyBerezovskiy你是对的。我修改了json,忘记了修改代码。更新。我的问题是结果值没有出现。我在代码中设置了断点,以查看其余值是否正确。抱歉,我更改了json,更新了问题