zoukankan      html  css  js  c++  java
  • C# JArray与JObject 的使用

    STEP1、using Newtonsoft.Json.Linq;
    STEP2 、如何获取json里的某个属性(节点)值,对其删改,新增

     1 //2.1 数组用JArray加载
     2  
     3 string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aa','b':'bb,'c':'cc'}]";  
     4  
     5 var mJObj = JArray.Parse(jsonText);
     6  
     7 //需求,删除列表里的a节点的值为'aa'的项
     8  
     9 IList<JToken> delList = new List<JToken>(); //存储需要删除的项
    10  
    11 foreach (var ss in mJObj )  //查找某个字段与值
    12 {
    13   if(((JObject) ss)["a"]=='aa')
    15   delList .add(ss);
    16 }
    17  
    18 foreach (var item in delList )  //移除mJObj  在delList 里的项
    19 {
    21   mJObj .remove(item); 
    22 }

    注意事项,JArray 只能用来查找索引的项的对象,找到对象需要转换为 JObject,再查找对应的属性值

    其他写法补充

    1、属性下嵌套json (非数组)遍历其包含的属性列表
    
    var xx = ((mJObj["dim"])).Children().Values(); 
    
    foreach (var item in xx)
    {
    var dimID = ((JObject) item)["id"];
    
    }
     
    //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'的值
  • 相关阅读:
    排序算法系列之冒泡排序 (3)
    排序算法系列之选择排序 (2)
    排序算法系列之插入排序 (1)
    深挖 NGUI 基础 之UICamera (二)
    深挖 NGUI 基础 之UIRoot (一)
    JPS寻路和AStar寻路
    旋转矩阵
    [斜边的血条进度]
    UI框架:ui节点控件的绑定方式
    Shader播放序列帧
  • 原文地址:https://www.cnblogs.com/zhao987/p/12627665.html
Copyright © 2011-2022 走看看