多层级Json数据的筛选和重组

多层级Json数据的筛选

最近在vue项目中,遇到一个数据问题的处理,通过调接口得到的数据是多层级树形结构的json数据,在项目中需要筛选这些数据,并整合为vue组件适用的多层级json数据格式。
下面就直接看例子吧

获取的原始数据:

原始数据

需要的数据格式:

需要的数据格式

数据处理方法:

selcetCatalogue (data) {
    if (data === null || data.length === 0) { return [] }
    let temp = data
    let TempCatalogue = []
    // 下面适用filter对数据进行筛选,然后用forEach循环数据
    temp.filter(e => e.api === false).forEach(el => {
        if (el === null) return false
        let Catalogue = {
        label: null,
        value: null,
        children: []
        }
        Catalogue.label = el.catalogueName
        Catalogue.value = el.id
        // 这里通过掉用自己的方法,用递归的思想处理数据
        Catalogue.children = el.childCatalogue.length > 0 ? this.selcetCatalogue(el.childCatalogue) : el.childCatalogue
        if (Catalogue.value !== null && Catalogue.value !== '') {
            TempCatalogue.push(Catalogue)
        }
      })
    return TempCatalogue        
},

展示代码:

完整的展示代码

数据展示效果:

展示效果
这篇文章是由这个博客网站作者发布的

要替换多层Json数据中指定的key的值,可以使用Json.NET库或者System.Text.Json库中的方法,以下是使用Json.NET库的示例: ```csharp using Newtonsoft.Json.Linq; // 假设原始的Json数据为 var jsonString = "{\"name\":\"Alice\",\"age\":25,\"address\":{\"city\":\"New York\",\"state\":\"NY\"}}"; // 将Json字符串转换为JObject对象 var jObject = JObject.Parse(jsonString); // 替换指定key的值 jObject["address"]["state"] = "CA"; // 将JObject对象转换为Json字符串 var newJsonString = jObject.ToString(); ``` 在上面的代码中,首先将原始的Json字符串转换为JObject对象,然后使用方括号运算符[]来访问指定的key,并通过多级访问来访问嵌套的对象中的key,并将其值替换为新的值,最后将JObject对象转换为Json字符串。 如果使用System.Text.Json库,可以使用JsonDocument类和JsonElement类型来访问Json数据,并使用JsonElement类型的值来修改指定key的值,以下是一个示例: ```csharp using System.Text.Json; // 假设原始的Json数据为 var jsonString = "{\"name\":\"Alice\",\"age\":25,\"address\":{\"city\":\"New York\",\"state\":\"NY\"}}"; // 将Json字符串转换为JsonDocument对象 var jsonDocument = JsonDocument.Parse(jsonString); // 获取根元素 var rootElement = jsonDocument.RootElement; // 替换指定key的值 rootElement.GetProperty("address").GetProperty("state").SetString("CA"); // 将JsonDocument对象转换为Json字符串 var newJsonString = jsonDocument.RootElement.GetRawText(); ``` 在上面的代码中,首先将原始的Json字符串转换为JsonDocument对象,然后使用GetProperty方法获取指定的key,并使用多级访问来访问嵌套的对象中的key,并使用SetString方法将其值替换为新的值,最后将JsonDocument对象转换为Json字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值