怎么循环输出json里的信息?
{"trade_fullinfo_get_response":{"trade":{"buyer":"abc","payment":"169.00","nick":"test专营店","tid":123}}}{"trade_fullinfo_get_response":{"trade":{"buyer":"abdc","payment":"1629.00","nick":"tes1t专营店","tid":1243}}}
{"trade_fullinfo_get_response":{"trade":{"buyer":"abec","payment":"1639.00","nick":"tes2t专营店","tid":1523}}}
{"trade_fullinfo_get_response":{"trade":{"buyer":"abfc","payment":"1649.00","nick":"tes3t专营店","tid":1623}}}
这样的一串json
在asp.net 里 ,怎么样才能得到 buyer里的信息?也就是 abc,abdc,abec,abfc
--------------------编程问答-------------------- 反序列化为Ilist<> 再循环获取。 --------------------编程问答-------------------- 能说说具体怎么弄吗 --------------------编程问答--------------------
--------------------编程问答-------------------- 我试了,只能对
public class Model
{
public PayModel trade_fullinfo_get_response { get;set; }
}
public class PayModel
{
public Entity trade { get;set; }
}
public class Entity
{
public string buyer { get;set; }
public string payment { get;set; }
public string nick { get;set; }
public string tid { get;set; }
}
List<Model> list = Json反序列化对象;
//通过相关类读取list即可
[{"trade_fullinfo_get_response":{"trade":{"buyer":"abc","payment":"169.00","nick":"test专营店","tid":123}}},[{"trade_fullinfo_get_response":{"trade":{"buyer":"abc","payment":"169.00","nick":"test专营店","tid":123}}}]这样的读取,不能读取上面的
{"trade_fullinfo_get_response":{"trade":{"buyer":"abc","payment":"169.00","nick":"test专营店","tid":123}}}
{"trade_fullinfo_get_response":{"trade":{"buyer":"abdc","payment":"1629.00","nick":"tes1t专营店","tid":1243}}}
{"trade_fullinfo_get_response":{"trade":{"buyer":"abec","payment":"1639.00","nick":"tes2t专营店","tid":1523}}}
{"trade_fullinfo_get_response":{"trade":{"buyer":"abfc","payment":"1649.00","nick":"tes3t专营店","tid":1623}}}
说是格式不对 --------------------编程问答-------------------- 正则:Regex reg=new Regex(@"""buyer"":""([^""]+?)""");
循环获取Groups[1].value --------------------编程问答-------------------- 使用LitJSON是一个.NET平台下处理JSON格式数据的类库,小巧、快速。它的源代码使用C#编写,可以通过任何.Net平台上的语言进行调用
下面是例子
String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemid’:1002,’itemname’:’hello2’}]}";
//*** 读取JSON字符串中的数据 *******************************
JsonData jd = JsonMapper.ToObject(str);
String name = (String)jd["name"];
long id = (long)jd["id"];
JsonData jdItems = jd["items"];
int itemCnt = jdItems.Count;
// 数组 items 中项的数量
foreach (JsonData item in jdItems)
// 遍历数组 items
{int itemID = (int)item["itemid"];
String itemName = (String)item["itemname"];
}
//*** 将JsonData转换为JSON字符串 ***************************
--------------------编程问答--------------------
你根据是列表还是单个酌情处理啊~ --------------------编程问答-------------------- 给你写个例子,你需要下载第三方引用Newtonsoft.Json.Net35.dll文件,去下载一个就可以,然后引用
private void button2_Click(object sender, EventArgs e)
{
Trade t = new Trade();
t.buyer = "abdc";
t.payment = "1629.00";
t.nick = "tes1t专营店";
t.tid = 1243;
Trade_Model t_m = new Trade_Model();
t_m.trade = t;
Model m = new Model();
m.trade_fullinfo_get_response = t_m;
//序列化
string s = MyJson.SerializeObject(m);
//反序列化
Model model = MyJson.Deserialize<Model>(s);
textBox1.Text = s;
}
public class MyJson
{
/// <summary>
/// 序列化方法
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string SerializeObject(object obj)
{
return JsonConvert.SerializeObject(obj);
}
/// <summary>
/// 反序列化方法
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="value"></param>
/// <returns></returns>
public static T Deserialize<T>(string value)
{
try
{
return JsonConvert.DeserializeObject<T>(value);
}
catch
{
return default(T);
}
}
}
public class Model
{
public Trade_Model trade_fullinfo_get_response { get; set; }
}
public class Trade_Model
{
public Trade trade { get; set; }
}
public class Trade
{
public string buyer { get; set; }
public string payment { get; set; }
public string nick { get; set; }
public int tid { get; set; }
}
补充:.NET技术 , ASP.NET