JArray ,JObject 及反序列化实体类等问题

JSON反序列化

JArray ,JObject 及反序列化实体类等问题

/* JArray 数组*/
string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]";

#region  one
JArray ja = (JArray)JsonConvert.DeserializeObject(jsonText);
//获取数值
foreach(JObject jo in ja){
    string a = jo["a"].ToString();
}
//或者
JObject o = (JObject)ja[1];
string b = o["a"].ToString();
#endregion

#region two
var mJObj = JArray.Parse(jsonText);
IList<JToken> delList = new List<JToken>();

foreach (var ss in mJObj )  //查找某个字段与值
{
    if(((JObject) ss)["a"].ToString()=="aa")
        delList.Add(ss);
    }
#endregion

/* 非数组 */
 string data = "{'a':'aaa','b':'bbb','c':'ccc'}";
var json = JObject.Parse(data);
//Console.WriteLine(json["a"]);

//ja.Add(json);添加

//使用JObject读写字符串:
JObject j = JObject.Parse(data);
IEnumerable<JProperty> properties = j.Properties().ToArray();
//IEnumerable<JProperty> properties = JObject.Parse(data).Properties();
foreach (JProperty item in properties)
{
    string key = item.Name;
    string value = item.Value.ToString();
}

//List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(jsonText);
#region
string d = "{"key": "123", "value": {"id":"01","name": "zhang"}}";
JObject json = JObject.Parse(d);
IEnumerable<JProperty> pp = JObject.Parse(json["value"].ToString()).Properties();
foreach (JProperty item in properties)
{
    //循环获取数据
    //item.name=id
    //item.value = 01
}
#endregion

在处理数组问题时  JArray 
非数组用 JObject
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值