using Newtonsoft.Json.Linq;
如何获取json里的某个属性(节点)值,对其删改,新增
//2.1 数组用JArray加载
string
jsonText =
"[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aa','b':'bb,'c':'cc'}]"
;
var
mJObj = JArray.Parse(jsonText);
//需求,删除列表里的a节点的值为'aa'的项
IList<JToken> delList =
new
List<JToken>();
//存储需要删除的项
foreach
(
var
ss
in
mJObj )
//查找某个字段与值
{
if
(((JObject) ss)[
"a"
]==
'aa'
)
delList .add(ss);
}
foreach
(
var
item
in
delList )
//移除mJObj 在delList 里的项
{
mJObj .remove(item);
}
//2.2 非数组用JObject加载 (这里主要以这个为例子)
string
jsonText =
"[{'a':'aaa','b':'bbb','c':'ccc'}]"
;
var
mJObj = JObject.Parse(jsonText t);
mJObj.Add()
//新增,没试过
var
v1=mJObj[a].ToString()
//得到'aaa'的值
以上的例子可交互灵活使用
注意事项,JArray 只能用来查找索引的项的对象,找到对象需要转换为 JObject,再查找对应的属性值
其他写法补充
1、属性下嵌套json (非数组)遍历其包含的属性列表
var xx = ((mJObj["dim"])).Children().Values();
foreach (var item in xx)
{
var dimID = ((JObject) item)["id"];
}
转载:http://www.cnblogs.com/wdw31210/p/4563032.html