• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

json问题

挨踢蜗牛 2013-08-31 12:57:12
{"status":"3","message":"","errCode":"0","data":[{"time":"2013-08-20 08:00","context":"福州市邮政速递物流分公司大客户部:收寄"},{"time":"2013-08-20 13:07","context":"福州市:离开处理中心,发往武汉市"},{"time":"2013-08-22 08:50","context":"武汉站点一:离开处理中心,发往恩施市"},{"time":"2013-08-23 12:36","context":"恩施市:到达处理中心,来自武汉市"},{"time":"2013-08-23 14:09","context":"恩施市:安排投递"},{"time":"2013-08-23 16:41","context":"恩施州速递物流公司航空路揽投站:安排投递"},{"time":"2013-08-23 16:56","context":"恩施州速递物流公司航空路揽投站:妥投 本人收签收"}],"html":"","mailNo":"","expTextName":"EMS快递","expSpellName":"ems","update":"","cache":"5359","ord":"ASC"}
怎么读取成
2013-08-20 08:00-福州市邮政速递物流分公司大客户部:收寄
2013-08-20 13:07-福州市:离开处理中心,发往武汉市
.....


...全文
159 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
很多已经写好的类可以用的
回复
yekeyishuo 2013-08-31
Newtonsoft.Json.dll
回复
guwei4037 2013-08-31
引用Newtonsoft.Json.dll,下载地址:http://download.csdn.net/detail/guwei4037/5853053
class Program
{
static void Main(string[] args)
{
string json = "[{\"status\":\"3\",\"message\":\"\",\"errCode\":\"0\",\"data\":[{\"time\":\"2013-08-20 08:00\",\"context\":\"福州市邮政速递物流分公司大客户部:收寄\"},{\"time\":\"2013-08-20 13:07\",\"context\":\"福州市:离开处理中心,发往武汉市\"},{\"time\":\"2013-08-22 08:50\",\"context\":\"武汉站点一:离开处理中心,发往恩施市\"},{\"time\":\"2013-08-23 12:36\",\"context\":\"恩施市:到达处理中心,来自武汉市\"},{\"time\":\"2013-08-23 14:09\",\"context\":\"恩施市:安排投递\"},{\"time\":\"2013-08-23 16:41\",\"context\":\"恩施州速递物流公司航空路揽投站:安排投递\"},{\"time\":\"2013-08-23 16:56\",\"context\":\"恩施州速递物流公司航空路揽投站:妥投 本人收签收\"}],\"html\":\"\",\"mailNo\":\"\",\"expTextName\":\"EMS快递\",\"expSpellName\":\"ems\",\"update\":\"\",\"cache\":\"5359\",\"ord\":\"ASC\"}]";

List<Info> jobInfoList = JsonConvert.DeserializeObject<List<Info>>(json);

jobInfoList.ForEach(x => x.data.ForEach(y => Console.WriteLine(y.Time + "-" + y.Context)));
}
}

public class Info
{
public string Status { get; set; }
public string Message { get; set; }
public string ErrCode { get; set; }
public List<Data> data { get; set; }
public string Html { get; set; }
public string MailNo { get; set; }
public string ExpTextName { get; set; }
public string ExpSpellName { get; set; }
public string Update { get; set; }
public string Cache { get; set; }
public string Ord { get; set; }
}

public class Data
{
public string Time;
public string Context;
}

回复
可以试用一下litjoson库
一个简单示例:
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字符串 ***************************            
  
String str2 = jd.ToJson(); 
(例子是转的)
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2013-08-31 12:57
社区公告
暂无公告