栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将两个JToken合并为一个

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将两个JToken合并为一个

您可以

JContainer.Merge(Object,JsonMergeSettings)
用来将一个合并
JObject
到另一个。请注意,可以
JsonMergeSettings.MergeArrayHandling
控制数组的合并方式。从
MergeArrayHandling
Enumeration文档中,可能的合并选项是:

 Concat  0   Concatenate arrays. Union   1   Union arrays, skipping items that already exist. Replace 2   Replace all array items. Merge   3   Merge array items together, matched by index.

因此,使用合并

MergeArrayHandling.Concat
如下,其中
allPages
pageOne
均为类型
JContainer
(或子类,例如
JObject
):

JContainer allPages = null;var settings = new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Concat };for (int page = 0; page <= recCount; page += 2000){    //Get data    var pageOne = (JContainer)getJsonData(page);    if (allPages == null)        allPages = pageOne;    else        allPages.Merge(pageOne, settings);}return allPages;

给出:

{  "data": [    {      "ID": "53a1862000404a304942546b35519ba3",      "name": "Private Approval Process: Draft document CPL",      "objCode": "ARVPTH"    },    {      "ID": "53a1838200401324eb1ec66562e9d77d",      "name": "Private Approval Process: Draft document CPL",      "objCode": "ARVPTH"    }  ]}

合并使用时

Replace
给出:

{  "data": [    {      "ID": "53a1838200401324eb1ec66562e9d77d",      "name": "Private Approval Process: Draft document CPL",      "objCode": "ARVPTH"    }  ]}

如果您的变量是类型

JToken
,则需要将其强制转换为
JContainer
。(不是容器的JSON原语不能合并。)

JsonMergeSettings.MergeNullValueHandling
null
根据需要控制是合并还是忽略值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号