加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#后台json数据解析获取某个特定的值

(2013-06-20 10:30:02)
标签:

c

json数据解析

dictionary

分类: 专业小文

json数据格式如下:

{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u5317","area_id":"100000","region":"\u5317\u4eac\u5e02","region_id":"110000","city":"\u5317\u4eac\u5e02","city_id":"110000","county":"","county_id":"-1","isp":"\u4e2d\u56fd\u79d1\u6280\u7f51","isp_id":"1000114","ip":"210.75.225.254"}}
我想在后台取出region的值:

方法一:正则截取

string msg = GetInfoWhatIWant(json, "\"code\":.*?,");
string code = msg.Replace("\"code\":", "").Replace(",", "");

【code为0】
string region=GetInfoWhatIWant(json,"\"region\":.*?,").Replace("\"region\":","");
string str = region.Replace(",","").Replace("\"", "");
string pro = Regex.(str);

【pro为北京市】

方法二:反序列化

/// <summary>
/// 将json数据反序列化为Dictionary
/// </summary>
/// <param name="jsonData">json数据</param>
/// <returns></returns>
    private Dictionary<string, object> JsonToDictionary(string jsonData)
    {
        //实例化JavaScriptSerializer类的新实例
        JavaScriptSerializer jss = new JavaScriptSerializer();
        try
        {
            //将指定的 JSON 字符串转换为 Dictionary<string, object> 类型的对象
            return jss.Deserialize<Dictionary<string, object>>(jsonData);
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }

//获取指定值

Dictionary dic = JsonToDictionary(json);//将Json数据转成dictionary格式
Dictionary dataSet = (Dictionary)dic["data"];
string m = dataSet.ElementAt(4).Key;【key值region】
string n = dataSet.ElementAt(4).Value.ToString();【value值北京市】

------------附加://使用KeyValuePair遍历数据----------------

foreach (KeyValuePair item in dataSet)
        {
            if (item.Key.ToString() == "data")//获取header数据
            {
                var subItem = (Dictionary)item.Value;
                foreach (var str in subItem)
                {
                    a += str.Key + ":" + str.Value + "\r\n";//显示到界面
                }
                TextBox2.Text = a;
                break;
            }
        }

0

阅读 收藏 喜欢 打印举报/Report
前一篇:淘宝IP地址库
后一篇:JS添加删除div
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有