JsonFormatConverter.java 69 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153
  1. package com.kingdee.eas.custom.webbeisen.utils;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6. import java.util.List;
  7. public class JsonFormatConverter {
  8. /**
  9. * 转换 data 数组到指定字段的格式
  10. * @param originalJson 原始 JSON 字符串,格式为数组形式,可能包含 data 数组的对象
  11. * @param targetFields 需要转换的字段列表,由用户自定义
  12. * @return 转换后的 JSON 字符串
  13. */
  14. public static String convertDataFields(String originalJson, List<String> targetFields) {
  15. String fieldToRemove = "extfujian";
  16. originalJson = processSubCollection(originalJson, fieldToRemove);
  17. // 解析原始 JSON
  18. Object root = JSONObject.parse(originalJson);
  19. JSONArray dataArray = getRootDataArray(root);
  20. if (dataArray == null) {
  21. return originalJson; // 没有 data 数组时直接返回原始内容
  22. }
  23. // 处理 data 数组里的每个元素
  24. for (int i = 0; i < dataArray.size(); i++) {
  25. Object item = dataArray.get(i);
  26. if (item instanceof JSONObject) {
  27. processJsonObject((JSONObject) item, targetFields);
  28. }
  29. }
  30. return dataArray.toJSONString();
  31. }
  32. /**
  33. * 获取根数据数组(假设根对象为数组或包含 data 数组的对象)
  34. */
  35. private static JSONArray getRootDataArray(Object root) {
  36. if (root instanceof JSONArray) {
  37. return (JSONArray) root;
  38. } else if (root instanceof JSONObject) {
  39. return ((JSONObject) root).getJSONArray("data");
  40. }
  41. return null;
  42. }
  43. /**
  44. * 递归处理 JSONObject 并转换指定字段
  45. */
  46. private static void processJsonObject(JSONObject obj, List<String> targetFields) {
  47. // 处理当前对象中的目标字段
  48. for (String field : targetFields) {
  49. if (obj.containsKey(field)) {
  50. Object original = obj.get(field);
  51. if (original instanceof JSONArray) {
  52. // 将数组转换为键值对并直接添加到对象中
  53. convertArrayAndMerge(obj, field, (JSONArray) original);
  54. }
  55. }
  56. }
  57. // 递归处理子节点
  58. for (String key : obj.keySet()) {
  59. Object value = obj.get(key);
  60. if (value instanceof JSONObject) {
  61. processJsonObject((JSONObject) value, targetFields);
  62. } else if (value instanceof JSONArray) {
  63. processJsonArray((JSONArray) value, targetFields);
  64. }
  65. }
  66. }
  67. /**
  68. * 递归处理 JSONArray 并转换其中元素的指定字段
  69. */
  70. private static void processJsonArray(JSONArray array, List<String> targetFields) {
  71. for (int i = 0; i < array.size(); i++) {
  72. Object item = array.get(i);
  73. if (item instanceof JSONObject) {
  74. processJsonObject((JSONObject) item, targetFields);
  75. } else if (item instanceof JSONArray) {
  76. processJsonArray((JSONArray) item, targetFields);
  77. }
  78. }
  79. }
  80. /**
  81. * 将 JSONArray 转换为键值对并合并到父对象中
  82. */
  83. private static void convertArrayAndMerge(JSONObject parent, String originalField, JSONArray array) {
  84. if (array == null) return;
  85. // 移除原始字段
  86. parent.remove(originalField);
  87. // 处理数组中的每个元素
  88. for (int i = 0; i < array.size(); i++) {
  89. Object item = array.get(i);
  90. if (item instanceof JSONObject) {
  91. JSONObject jsonItem = (JSONObject) item;
  92. String primaryKey = extractNameField(jsonItem);
  93. if (primaryKey != null) {
  94. // 创建一个不包含 name 字段的新对象
  95. JSONObject processedItem = new JSONObject(true);
  96. for (String key : jsonItem.keySet()) {
  97. if (!"name".equals(key)) {
  98. processedItem.put(key, jsonItem.get(key));
  99. }
  100. }
  101. // 直接将处理后的对象添加到父对象中
  102. parent.put(primaryKey, processedItem);
  103. }
  104. }
  105. }
  106. }
  107. /**
  108. * 获取对象中的 name 字段值
  109. */
  110. private static String extractNameField(JSONObject obj) {
  111. if (obj.containsKey("name")) {
  112. Object nameValue = obj.get("name");
  113. return nameValue != null ? nameValue.toString() : null;
  114. }
  115. return null;
  116. }
  117. /**
  118. * 处理 subCollection 数据,去除指定 name 的字段
  119. * @param originalJson 原始 JSON 字符串
  120. * @param fieldToRemove 需要移除的字段名
  121. * @return 处理后的 JSON 字符串
  122. */
  123. public static String processSubCollection(String originalJson, String fieldToRemove) {
  124. // 解析原始 JSON
  125. Object root = JSONObject.parse(originalJson);
  126. JSONArray rootArray = getRootArray(root);
  127. if (rootArray == null) {
  128. return originalJson; // 没有根数组时直接返回原始内容
  129. }
  130. // 处理每个根数组元素
  131. for (int i = 0; i < rootArray.size(); i++) {
  132. Object item = rootArray.get(i);
  133. if (item instanceof JSONObject) {
  134. JSONObject jsonItem = (JSONObject) item;
  135. processSubCollectionObject(jsonItem, fieldToRemove);
  136. }
  137. }
  138. return rootArray.toJSONString();
  139. }
  140. /**
  141. * 获取根数组
  142. */
  143. private static JSONArray getRootArray(Object root) {
  144. if (root instanceof JSONArray) {
  145. return (JSONArray) root;
  146. }
  147. return null;
  148. }
  149. /**
  150. * 处理包含键名包含 subCollection 的 JSONObject
  151. */
  152. private static void processSubCollectionObject(JSONObject obj, String fieldToRemove) {
  153. for (String key : obj.keySet()) {
  154. if (key.contains("subCollection")) {
  155. Object value = obj.get(key);
  156. if (value instanceof JSONArray) {
  157. JSONArray subCollections = (JSONArray) value;
  158. for (int i = 0; i < subCollections.size(); i++) {
  159. Object subItem = subCollections.get(i);
  160. if (subItem instanceof JSONObject) {
  161. JSONObject subObj = (JSONObject) subItem;
  162. JSONArray fields = subObj.getJSONArray("fields");
  163. if (fields != null) {
  164. removeField(fields, fieldToRemove);
  165. }
  166. }
  167. }
  168. }
  169. }
  170. }
  171. }
  172. /**
  173. * 从 fields 中移除指定 name 的字段
  174. */
  175. private static void removeField(JSONArray fields, String fieldToRemove) {
  176. List<Integer> indicesToRemove = new ArrayList<Integer>();
  177. for (int i = 0; i < fields.size(); i++) {
  178. Object fieldItem = fields.get(i);
  179. if (fieldItem instanceof JSONObject) {
  180. JSONObject fieldObj = (JSONObject) fieldItem;
  181. String fieldName = fieldObj.getString("name");
  182. if (fieldName.indexOf(fieldToRemove)>=0) {
  183. indicesToRemove.add(i);
  184. }
  185. }
  186. }
  187. // 从后往前移除元素,避免索引错乱
  188. for (int i = indicesToRemove.size() - 1; i >= 0; i--) {
  189. int index = indicesToRemove.get(i);
  190. fields.remove(index);
  191. }
  192. }
  193. public static void main(String[] args) {
  194. // 示例JSON数据
  195. String originalJson = "[{\n" +
  196. " \"staffInfos\": {\n" +
  197. " \"photoPath\": null,\n" +
  198. " \"photoDownLoadUrl\": \"\",\n" +
  199. " \"idCardFrontPath\": \"dfs://RecruitOnBoardingFile/433107/1753150417/3/346872eb18da484fa5accc287c4d6d84.png\",\n" +
  200. " \"idCardFrontDownLoadUrl\": \"//dfiles.italent.cn/download/recruitonboardingfile/433107/1753150417/3/346872eb18da484fa5accc287c4d6d84.png?sig_t=1753238699&sig_exp=2592000&sig_a=recruitment&sig_pm=8&sig_npm=2&sig_v=1&sig=32d7a9a3a75724d79e3789741d38d4f076cc398a\",\n" +
  201. " \"idCardBackPath\": \"dfs://RecruitOnBoardingFile/433107/1753150441/3/f09e281d42bc4d79a5d1f2b91960608b.jpeg\",\n" +
  202. " \"idCardBackDownLoadUrl\": \"//dfiles.italent.cn/download/recruitonboardingfile/433107/1753150441/3/f09e281d42bc4d79a5d1f2b91960608b.jpeg?sig_t=1753238699&sig_exp=2592000&sig_a=recruitment&sig_pm=8&sig_npm=2&sig_v=1&sig=d43d989bb948f5998d0bc542c374a535f591b7ed\",\n" +
  203. " \"graduationPath\": null,\n" +
  204. " \"graduationDownLoadUrl\": \"\",\n" +
  205. " \"degreePath\": null,\n" +
  206. " \"degreeDownLoadUrl\": \"\",\n" +
  207. " \"physicalPath\": null,\n" +
  208. " \"physicalDownLoadUrl\": \"\",\n" +
  209. " \"bankPhotoPath\": null,\n" +
  210. " \"bankPhotoDownLoadUrl\": \"\",\n" +
  211. " \"avatarPath\": \"dfs://RecruitOnBoardingFile/433107/1753150018/3/16c649e58c0e4e5a94831f62491b340a.png\",\n" +
  212. " \"avatarDownLoadUrl\": \"//dfiles.italent.cn/download/recruitonboardingfile/433107/1753150018/3/16c649e58c0e4e5a94831f62491b340a.png?sig_t=1753238699&sig_exp=2592000&sig_a=recruitment&sig_pm=8&sig_npm=2&sig_v=1&sig=3970f66d3ae113559c411c10abd5864bd95210de\",\n" +
  213. " \"id\": \"3ce6f472-659a-4299-9ced-7913736bbf89\",\n" +
  214. " \"name\": \"刘颖\",\n" +
  215. " \"email\": \"liuying@yfdee.com\",\n" +
  216. " \"engName\": null,\n" +
  217. " \"sex\": 0,\n" +
  218. " \"educationBackground\": null,\n" +
  219. " \"mobilePhone\": \"19892761659\",\n" +
  220. " \"mobileType\": 1,\n" +
  221. " \"officeTel\": null,\n" +
  222. " \"homePhone\": null,\n" +
  223. " \"idCardType\": 1,\n" +
  224. " \"idNumber\": \"410802198909128831\",\n" +
  225. " \"marryStatus\": 2,\n" +
  226. " \"nationality\": \"1\",\n" +
  227. " \"homeAddress\": \"现居住地址(精确到门牌)\",\n" +
  228. " \"idCardDate\": \"2037-04-21T00:00:00\",\n" +
  229. " \"children\": null,\n" +
  230. " \"registeredType\": null,\n" +
  231. " \"registedAddress\": null,\n" +
  232. " \"personalHomePage\": null,\n" +
  233. " \"probationDate\": null,\n" +
  234. " \"politicalState\": 4,\n" +
  235. " \"speciality\": null,\n" +
  236. " \"lastSchool\": \"\",\n" +
  237. " \"major\": null,\n" +
  238. " \"QQ\": null,\n" +
  239. " \"weixin\": null,\n" +
  240. " \"staffStatus\": null,\n" +
  241. " \"bank\": 1,\n" +
  242. " \"photo\": null,\n" +
  243. " \"idCardFront\": null,\n" +
  244. " \"idCardBack\": null,\n" +
  245. " \"graduation\": null,\n" +
  246. " \"degree\": null,\n" +
  247. " \"physical\": null,\n" +
  248. " \"bankPhoto\": null,\n" +
  249. " \"workDate\": \"2022-05-05T00:00:00\",\n" +
  250. " \"registeredAddress\": null,\n" +
  251. " \"registeredLocation\": null,\n" +
  252. " \"constellation\": null,\n" +
  253. " \"emergencyContact\": \"刘某某\",\n" +
  254. " \"selfRelation\": \"父子\",\n" +
  255. " \"contactPhone\": \"15817432323\",\n" +
  256. " \"bankAccount\": \"6222021102025779326\",\n" +
  257. " \"birthday\": \"1989-09-12T00:00:00\",\n" +
  258. " \"graduationDate\": null,\n" +
  259. " \"entryDate\": \"0001-01-01T00:00:00\",\n" +
  260. " \"planEntryDate\": null,\n" +
  261. " \"namePy\": \"liuying\",\n" +
  262. " \"avatar\": null,\n" +
  263. " \"extendInfos\": [\n" +
  264. " {\n" +
  265. " \"text\": null,\n" +
  266. " \"name\": \"DomicilePlace\",\n" +
  267. " \"value\": \"广东省深圳市南山区中心路深圳湾段3019号天虹大厦9-14楼、17-20楼\"\n" +
  268. " },\n" +
  269. " {\n" +
  270. " \"text\": null,\n" +
  271. " \"name\": \"Onwer\",\n" +
  272. " \"value\": 10000\n" +
  273. " },\n" +
  274. " {\n" +
  275. " \"text\": \"\",\n" +
  276. " \"name\": \"exthukousuozaidi_433107_780964926\",\n" +
  277. " \"value\": \"户口所在地\"\n" +
  278. " },\n" +
  279. " {\n" +
  280. " \"text\": \"\",\n" +
  281. " \"name\": \"extkaihuhangmingcheng_433107_1081523571\",\n" +
  282. " \"value\": \"账户名称\"\n" +
  283. " },\n" +
  284. " {\n" +
  285. " \"text\": \"\",\n" +
  286. " \"name\": \"extkaihusheng_433107_743343586\",\n" +
  287. " \"value\": \"开户省\"\n" +
  288. " },\n" +
  289. " {\n" +
  290. " \"text\": \"\",\n" +
  291. " \"name\": \"extkaihushi_433107_596805120\",\n" +
  292. " \"value\": \"开户市\"\n" +
  293. " },\n" +
  294. " {\n" +
  295. " \"text\": \"\",\n" +
  296. " \"name\": \"extneibutuijianren_433107_956539550\",\n" +
  297. " \"value\": \"内部推荐人\"\n" +
  298. " },\n" +
  299. " {\n" +
  300. " \"text\": \"\",\n" +
  301. " \"name\": \"extrenlimianshirenxingming_433107_1793498403\",\n" +
  302. " \"value\": \"人力面试人姓名\"\n" +
  303. " },\n" +
  304. " {\n" +
  305. " \"text\": \"\",\n" +
  306. " \"name\": \"extshengao_433107_1625044476\",\n" +
  307. " \"value\": \"168\"\n" +
  308. " },\n" +
  309. " {\n" +
  310. " \"text\": \"\",\n" +
  311. " \"name\": \"exttezhangaihao_433107_571932316\",\n" +
  312. " \"value\": \"特长爱好\"\n" +
  313. " },\n" +
  314. " {\n" +
  315. " \"text\": \"\",\n" +
  316. " \"name\": \"exttuijianrenguanxi_433107_1760321961\",\n" +
  317. " \"value\": \"推荐人关系\"\n" +
  318. " },\n" +
  319. " {\n" +
  320. " \"text\": \"\",\n" +
  321. " \"name\": \"extyingpinqudao_433107_1264879034\",\n" +
  322. " \"value\": \"应聘渠道\"\n" +
  323. " },\n" +
  324. " {\n" +
  325. " \"text\": \"\",\n" +
  326. " \"name\": \"extyingyunengli_433107_1502312786\",\n" +
  327. " \"value\": \"1\"\n" +
  328. " },\n" +
  329. " {\n" +
  330. " \"text\": \"\",\n" +
  331. " \"name\": \"extzhuanyemianshirenxingming_433107_243011402\",\n" +
  332. " \"value\": \"专业面试人姓名\"\n" +
  333. " },\n" +
  334. " {\n" +
  335. " \"text\": \"\",\n" +
  336. " \"name\": \"extceshi1_433107_1347992934\",\n" +
  337. " \"value\": null\n" +
  338. " },\n" +
  339. " {\n" +
  340. " \"text\": \"\",\n" +
  341. " \"name\": \"extgongsidianziyouxiang_433107_139122406\",\n" +
  342. " \"value\": null\n" +
  343. " },\n" +
  344. " {\n" +
  345. " \"text\": \"\",\n" +
  346. " \"name\": \"extceshixialaxuanxiang_433107_1877407355\",\n" +
  347. " \"value\": null\n" +
  348. " },\n" +
  349. " {\n" +
  350. " \"text\": \"\",\n" +
  351. " \"name\": \"extgongsidianziyouxiang2_433107_849883539\",\n" +
  352. " \"value\": null\n" +
  353. " },\n" +
  354. " {\n" +
  355. " \"text\": \"\",\n" +
  356. " \"name\": \"extxianjuzhudi_433107_2099341904\",\n" +
  357. " \"value\": null\n" +
  358. " },\n" +
  359. " {\n" +
  360. " \"text\": \"\",\n" +
  361. " \"name\": \"extyinhangmingcheng_433107_1859624309\",\n" +
  362. " \"value\": null\n" +
  363. " }\n" +
  364. " ],\n" +
  365. " \"fileInfos\": null\n" +
  366. " },\n" +
  367. " \"experienceNew\": [\n" +
  368. " {\n" +
  369. " \"id\": \"d37e5b5c-54ab-4b7b-af06-ec3c08d436b6\",\n" +
  370. " \"companyScale\": 0,\n" +
  371. " \"reportTo\": null,\n" +
  372. " \"underlingNumber\": 0,\n" +
  373. " \"startDate\": \"2022-01-01T00:00:00\",\n" +
  374. " \"companyName\": \"单位名称1\",\n" +
  375. " \"companyType\": 0,\n" +
  376. " \"companyInfo\": null,\n" +
  377. " \"industry\": 0,\n" +
  378. " \"department\": null,\n" +
  379. " \"jobCategory\": 0,\n" +
  380. " \"jobTitle\": \"职务\",\n" +
  381. " \"jobLevel\": 0,\n" +
  382. " \"endDate\": \"2023-12-31T00:00:00\",\n" +
  383. " \"jobProperty\": null,\n" +
  384. " \"salary\": null,\n" +
  385. " \"isAbroad\": null,\n" +
  386. " \"jobDuty\": null,\n" +
  387. " \"reasonOfLeaving\": null,\n" +
  388. " \"referenceName\": \"汇报上级\",\n" +
  389. " \"referencePosition\": null,\n" +
  390. " \"referenceLinkInfo\": null,\n" +
  391. " \"referenceRelation\": null,\n" +
  392. " \"baseAddress\": null,\n" +
  393. " \"extendInfos\": [\n" +
  394. " {\n" +
  395. " \"text\": null,\n" +
  396. " \"name\": \"Onwer\",\n" +
  397. " \"value\": 408191750\n" +
  398. " },\n" +
  399. " {\n" +
  400. " \"text\": \"\",\n" +
  401. " \"name\": \"extfujian_433107_1942426904\",\n" +
  402. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753150613/3/75dbf544b95c456b8ede85cf89eb7052.png,dfs://RecruitOnBoardingFile/433107/1753150617/3/651e6f4bf98040339de1a98020e1aadd.png,dfs://RecruitOnBoardingFile/433107/1753150626/3/64f16afece0e4a55b8f5a739a5b3a11f.png\"\n" +
  403. " }\n" +
  404. " ],\n" +
  405. " \"fileInfos\": [\n" +
  406. " {\n" +
  407. " \"name\": \"extfujian_433107_1942426904\",\n" +
  408. " \"downloadUrls\": [\n" +
  409. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150613/3/75dbf544b95c456b8ede85cf89eb7052.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=54885dfbdec8e1195f881e8b1b33783d919327f2\",\n" +
  410. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150617/3/651e6f4bf98040339de1a98020e1aadd.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=b43a42301f944e82c1d54311c33abefe492fd661\",\n" +
  411. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150626/3/64f16afece0e4a55b8f5a739a5b3a11f.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=06f7604e94a32e2c39f01483c444aea8a42d6df6\"\n" +
  412. " ],\n" +
  413. " \"clientUrls\": [\n" +
  414. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150613/3/75dbf544b95c456b8ede85cf89eb7052.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=85f0f35be26d477205247efe4538283884c87594\",\n" +
  415. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150617/3/651e6f4bf98040339de1a98020e1aadd.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=0be3de0eb3b4516ce81e029dd1cf6422ab03e390\",\n" +
  416. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150626/3/64f16afece0e4a55b8f5a739a5b3a11f.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=1c302b0f8b673320705486e02fa9aae6a1693d3b\"\n" +
  417. " ]\n" +
  418. " }\n" +
  419. " ]\n" +
  420. " },\n" +
  421. " {\n" +
  422. " \"id\": \"9e50d1be-e84c-45fe-bf56-efd3311aa712\",\n" +
  423. " \"companyScale\": 0,\n" +
  424. " \"reportTo\": null,\n" +
  425. " \"underlingNumber\": 0,\n" +
  426. " \"startDate\": \"2023-01-01T00:00:00\",\n" +
  427. " \"companyName\": \"单位名称2\",\n" +
  428. " \"companyType\": 0,\n" +
  429. " \"companyInfo\": null,\n" +
  430. " \"industry\": 0,\n" +
  431. " \"department\": null,\n" +
  432. " \"jobCategory\": 0,\n" +
  433. " \"jobTitle\": \"职务2\",\n" +
  434. " \"jobLevel\": 0,\n" +
  435. " \"endDate\": \"2023-12-31T00:00:00\",\n" +
  436. " \"jobProperty\": null,\n" +
  437. " \"salary\": null,\n" +
  438. " \"isAbroad\": null,\n" +
  439. " \"jobDuty\": null,\n" +
  440. " \"reasonOfLeaving\": null,\n" +
  441. " \"referenceName\": \"汇报上级2\",\n" +
  442. " \"referencePosition\": null,\n" +
  443. " \"referenceLinkInfo\": null,\n" +
  444. " \"referenceRelation\": null,\n" +
  445. " \"baseAddress\": null,\n" +
  446. " \"extendInfos\": [\n" +
  447. " {\n" +
  448. " \"text\": null,\n" +
  449. " \"name\": \"Onwer\",\n" +
  450. " \"value\": 408191750\n" +
  451. " },\n" +
  452. " {\n" +
  453. " \"text\": \"\",\n" +
  454. " \"name\": \"extfujian_433107_1942426904\",\n" +
  455. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753150718/3/27be63afdcc64108acdb4433836526ec.png,dfs://RecruitOnBoardingFile/433107/1753150729/3/82aa08ffc479439bb50e94680b4e760b.png\"\n" +
  456. " }\n" +
  457. " ],\n" +
  458. " \"fileInfos\": [\n" +
  459. " {\n" +
  460. " \"name\": \"extfujian_433107_1942426904\",\n" +
  461. " \"downloadUrls\": [\n" +
  462. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150718/3/27be63afdcc64108acdb4433836526ec.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=4d39ced563c57efad883d31f44268061df2a10f4\",\n" +
  463. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150729/3/82aa08ffc479439bb50e94680b4e760b.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=49810c7b4e080146098338bf65b23cefa121f7f3\"\n" +
  464. " ],\n" +
  465. " \"clientUrls\": [\n" +
  466. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150718/3/27be63afdcc64108acdb4433836526ec.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=2090da1bcd71bceac9003acf7965be9eb1c00fb2\",\n" +
  467. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150729/3/82aa08ffc479439bb50e94680b4e760b.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=ea7322045b18c18584fb074a879c4d83fea90ed7\"\n" +
  468. " ]\n" +
  469. " }\n" +
  470. " ]\n" +
  471. " },\n" +
  472. " {\n" +
  473. " \"id\": \"7bd7309d-3f3f-4c54-b888-ffdbde54dc3d\",\n" +
  474. " \"companyScale\": 0,\n" +
  475. " \"reportTo\": null,\n" +
  476. " \"underlingNumber\": 0,\n" +
  477. " \"startDate\": \"2024-01-01T00:00:00\",\n" +
  478. " \"companyName\": \"单位名称3\",\n" +
  479. " \"companyType\": 0,\n" +
  480. " \"companyInfo\": null,\n" +
  481. " \"industry\": 0,\n" +
  482. " \"department\": null,\n" +
  483. " \"jobCategory\": 0,\n" +
  484. " \"jobTitle\": \"职务3\",\n" +
  485. " \"jobLevel\": 0,\n" +
  486. " \"endDate\": \"2025-07-22T00:00:00\",\n" +
  487. " \"jobProperty\": null,\n" +
  488. " \"salary\": null,\n" +
  489. " \"isAbroad\": null,\n" +
  490. " \"jobDuty\": null,\n" +
  491. " \"reasonOfLeaving\": null,\n" +
  492. " \"referenceName\": \"汇报上级3\",\n" +
  493. " \"referencePosition\": null,\n" +
  494. " \"referenceLinkInfo\": null,\n" +
  495. " \"referenceRelation\": null,\n" +
  496. " \"baseAddress\": null,\n" +
  497. " \"extendInfos\": [\n" +
  498. " {\n" +
  499. " \"text\": null,\n" +
  500. " \"name\": \"Onwer\",\n" +
  501. " \"value\": 408191750\n" +
  502. " },\n" +
  503. " {\n" +
  504. " \"text\": \"\",\n" +
  505. " \"name\": \"extfujian_433107_1942426904\",\n" +
  506. " \"value\": null\n" +
  507. " }\n" +
  508. " ],\n" +
  509. " \"fileInfos\": [\n" +
  510. " {\n" +
  511. " \"name\": \"extfujian_433107_1942426904\",\n" +
  512. " \"downloadUrls\": [],\n" +
  513. " \"clientUrls\": []\n" +
  514. " }\n" +
  515. " ]\n" +
  516. " }\n" +
  517. " ],\n" +
  518. " \"education\": [\n" +
  519. " {\n" +
  520. " \"id\": \"66563a85-b1f9-49df-942b-434214b5089f\",\n" +
  521. " \"classCount\": null,\n" +
  522. " \"collegeName\": \"学校名称2\",\n" +
  523. " \"degree\": 2,\n" +
  524. " \"educationLevel\": 1,\n" +
  525. " \"endDate\": \"2017-12-31T00:00:00\",\n" +
  526. " \"formsOfLearning\": 1,\n" +
  527. " \"gpa\": null,\n" +
  528. " \"graduationThesis\": null,\n" +
  529. " \"isAbroad\": null,\n" +
  530. " \"majorCategory\": null,\n" +
  531. " \"majorCourses\": null,\n" +
  532. " \"majorDescription\": null,\n" +
  533. " \"majorName\": \"专业1\",\n" +
  534. " \"majorOrder\": null,\n" +
  535. " \"placeInClass\": null,\n" +
  536. " \"schoolName\": null,\n" +
  537. " \"schoolReferenceContact\": null,\n" +
  538. " \"schoolReferenceName\": null,\n" +
  539. " \"schoolReferencePosition\": null,\n" +
  540. " \"schoolReferenceRelation\": null,\n" +
  541. " \"startDate\": \"2014-01-01T00:00:00\",\n" +
  542. " \"subjectResearch\": null,\n" +
  543. " \"trainingMode\": null,\n" +
  544. " \"tutorContact\": null,\n" +
  545. " \"tutorName\": null,\n" +
  546. " \"tutorPostion\": null,\n" +
  547. " \"extendInfos\": [\n" +
  548. " {\n" +
  549. " \"text\": null,\n" +
  550. " \"name\": \"Onwer\",\n" +
  551. " \"value\": 408191750\n" +
  552. " },\n" +
  553. " {\n" +
  554. " \"text\": \"\",\n" +
  555. " \"name\": \"extfujian_433107_167438188\",\n" +
  556. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753151194/3/7cdb089db2e44da1812e4bdda7e8a364.jpg,dfs://RecruitOnBoardingFile/433107/1753151199/3/73a22712eccf46cdb2048e68a1a4be11.jpeg\"\n" +
  557. " },\n" +
  558. " {\n" +
  559. " \"text\": \"\",\n" +
  560. " \"name\": \"extxuelizhengshubianhao_433107_1947905721\",\n" +
  561. " \"value\": \"学历证书编号2\"\n" +
  562. " },\n" +
  563. " {\n" +
  564. " \"text\": \"\",\n" +
  565. " \"name\": \"extxuexiaoleixing_433107_554978727\",\n" +
  566. " \"value\": \"2\"\n" +
  567. " },\n" +
  568. " {\n" +
  569. " \"text\": \"\",\n" +
  570. " \"name\": \"extxuezhinian_433107_1826569121\",\n" +
  571. " \"value\": \"3\"\n" +
  572. " },\n" +
  573. " {\n" +
  574. " \"text\": \"\",\n" +
  575. " \"name\": \"extzuigaoxueli_433107_1078329652\",\n" +
  576. " \"value\": true\n" +
  577. " },\n" +
  578. " {\n" +
  579. " \"text\": \"\",\n" +
  580. " \"name\": \"extzuigaoxuewei_433107_907391900\",\n" +
  581. " \"value\": true\n" +
  582. " },\n" +
  583. " {\n" +
  584. " \"text\": \"\",\n" +
  585. " \"name\": \"extbeizhu_433107_1017382434\",\n" +
  586. " \"value\": null\n" +
  587. " }\n" +
  588. " ],\n" +
  589. " \"fileInfos\": [\n" +
  590. " {\n" +
  591. " \"name\": \"extfujian_433107_167438188\",\n" +
  592. " \"downloadUrls\": [\n" +
  593. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151194/3/7cdb089db2e44da1812e4bdda7e8a364.jpg?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=215a23ac0bf57f57da9afeea9048ca0f5121fdd7\",\n" +
  594. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151199/3/73a22712eccf46cdb2048e68a1a4be11.jpeg?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=db50969b792153d4c3498f300fb2c9dc8992430d\"\n" +
  595. " ],\n" +
  596. " \"clientUrls\": [\n" +
  597. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151194/3/7cdb089db2e44da1812e4bdda7e8a364.jpg?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=4023103a525770f611e7feb621710c12d3cdf4b6\",\n" +
  598. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151199/3/73a22712eccf46cdb2048e68a1a4be11.jpeg?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=02c489673fc6616d550f6d20cf9568079d0d18fe\"\n" +
  599. " ]\n" +
  600. " }\n" +
  601. " ]\n" +
  602. " },\n" +
  603. " {\n" +
  604. " \"id\": \"f63098b6-9634-47d4-a600-ac5f39e12209\",\n" +
  605. " \"classCount\": null,\n" +
  606. " \"collegeName\": \"学校名称1\",\n" +
  607. " \"degree\": 1,\n" +
  608. " \"educationLevel\": 3,\n" +
  609. " \"endDate\": \"2013-07-01T00:00:00\",\n" +
  610. " \"formsOfLearning\": 2,\n" +
  611. " \"gpa\": null,\n" +
  612. " \"graduationThesis\": null,\n" +
  613. " \"isAbroad\": null,\n" +
  614. " \"majorCategory\": null,\n" +
  615. " \"majorCourses\": null,\n" +
  616. " \"majorDescription\": null,\n" +
  617. " \"majorName\": \"专业1\",\n" +
  618. " \"majorOrder\": null,\n" +
  619. " \"placeInClass\": null,\n" +
  620. " \"schoolName\": null,\n" +
  621. " \"schoolReferenceContact\": null,\n" +
  622. " \"schoolReferenceName\": null,\n" +
  623. " \"schoolReferencePosition\": null,\n" +
  624. " \"schoolReferenceRelation\": null,\n" +
  625. " \"startDate\": \"2010-01-01T00:00:00\",\n" +
  626. " \"subjectResearch\": null,\n" +
  627. " \"trainingMode\": null,\n" +
  628. " \"tutorContact\": null,\n" +
  629. " \"tutorName\": null,\n" +
  630. " \"tutorPostion\": null,\n" +
  631. " \"extendInfos\": [\n" +
  632. " {\n" +
  633. " \"text\": null,\n" +
  634. " \"name\": \"Onwer\",\n" +
  635. " \"value\": 408191750\n" +
  636. " },\n" +
  637. " {\n" +
  638. " \"text\": \"\",\n" +
  639. " \"name\": \"extbeizhu_433107_1017382434\",\n" +
  640. " \"value\": \"备注11\"\n" +
  641. " },\n" +
  642. " {\n" +
  643. " \"text\": \"\",\n" +
  644. " \"name\": \"extfujian_433107_167438188\",\n" +
  645. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753151095/3/05237960bfff4650bcc8ecd3ab97b2eb.png,dfs://RecruitOnBoardingFile/433107/1753151100/3/9918d01208d1496880579fc9582b6720.png,dfs://RecruitOnBoardingFile/433107/1753151106/3/76cc098403e44c428914e0e3b4680a98.png\"\n" +
  646. " },\n" +
  647. " {\n" +
  648. " \"text\": \"\",\n" +
  649. " \"name\": \"extxuelizhengshubianhao_433107_1947905721\",\n" +
  650. " \"value\": \"学历证书编号1\"\n" +
  651. " },\n" +
  652. " {\n" +
  653. " \"text\": \"\",\n" +
  654. " \"name\": \"extxuexiaoleixing_433107_554978727\",\n" +
  655. " \"value\": \"2\"\n" +
  656. " },\n" +
  657. " {\n" +
  658. " \"text\": \"\",\n" +
  659. " \"name\": \"extxuezhinian_433107_1826569121\",\n" +
  660. " \"value\": \"3\"\n" +
  661. " },\n" +
  662. " {\n" +
  663. " \"text\": \"\",\n" +
  664. " \"name\": \"extzuigaoxueli_433107_1078329652\",\n" +
  665. " \"value\": false\n" +
  666. " },\n" +
  667. " {\n" +
  668. " \"text\": \"\",\n" +
  669. " \"name\": \"extzuigaoxuewei_433107_907391900\",\n" +
  670. " \"value\": false\n" +
  671. " }\n" +
  672. " ],\n" +
  673. " \"fileInfos\": [\n" +
  674. " {\n" +
  675. " \"name\": \"extfujian_433107_167438188\",\n" +
  676. " \"downloadUrls\": [\n" +
  677. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151095/3/05237960bfff4650bcc8ecd3ab97b2eb.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=f1139669f6dcf39332c428e8a90db81bf637703d\",\n" +
  678. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151100/3/9918d01208d1496880579fc9582b6720.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=ed730d063be5d2379e25309175796d4df61a0ab9\",\n" +
  679. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151106/3/76cc098403e44c428914e0e3b4680a98.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=e3f1438955c4801a5aa8c62e54deb6ee9e58b97a\"\n" +
  680. " ],\n" +
  681. " \"clientUrls\": [\n" +
  682. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151095/3/05237960bfff4650bcc8ecd3ab97b2eb.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=928f875b8795204172bbac486dec5ce3723cb9cb\",\n" +
  683. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151100/3/9918d01208d1496880579fc9582b6720.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=e03f640890641f96886f70a3b16df9507382bb4a\",\n" +
  684. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151106/3/76cc098403e44c428914e0e3b4680a98.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=8f801cb2eb4448fbe6045dbc377c1a0e7aa83a17\"\n" +
  685. " ]\n" +
  686. " }\n" +
  687. " ]\n" +
  688. " }\n" +
  689. " ],\n" +
  690. " \"family\": [\n" +
  691. " {\n" +
  692. " \"id\": \"074a511d-19ea-4ad9-9022-b5c3e774218a\",\n" +
  693. " \"age\": 0,\n" +
  694. " \"companyName\": \"工作单位2\",\n" +
  695. " \"email\": null,\n" +
  696. " \"familyLocaltion\": null,\n" +
  697. " \"jobTitle\": null,\n" +
  698. " \"name\": \"陈某某\",\n" +
  699. " \"politicalStatus\": 0,\n" +
  700. " \"relation\": \"母子\",\n" +
  701. " \"telephone\": \"13469406235\",\n" +
  702. " \"gender\": null,\n" +
  703. " \"extendInfos\": [\n" +
  704. " {\n" +
  705. " \"text\": null,\n" +
  706. " \"name\": \"Onwer\",\n" +
  707. " \"value\": 408191750\n" +
  708. " },\n" +
  709. " {\n" +
  710. " \"text\": \"\",\n" +
  711. " \"name\": \"extxianjuzhudi_433107_39649856\",\n" +
  712. " \"value\": \"现居住地2\"\n" +
  713. " }\n" +
  714. " ],\n" +
  715. " \"fileInfos\": []\n" +
  716. " },\n" +
  717. " {\n" +
  718. " \"id\": \"89520509-4827-407c-a86b-e95f15426fe2\",\n" +
  719. " \"age\": 0,\n" +
  720. " \"companyName\": \"工作单位1\",\n" +
  721. " \"email\": null,\n" +
  722. " \"familyLocaltion\": null,\n" +
  723. " \"jobTitle\": null,\n" +
  724. " \"name\": \"刘某某\",\n" +
  725. " \"politicalStatus\": 0,\n" +
  726. " \"relation\": \"父子\",\n" +
  727. " \"telephone\": \"15817432323\",\n" +
  728. " \"gender\": null,\n" +
  729. " \"extendInfos\": [\n" +
  730. " {\n" +
  731. " \"text\": null,\n" +
  732. " \"name\": \"Onwer\",\n" +
  733. " \"value\": 408191750\n" +
  734. " },\n" +
  735. " {\n" +
  736. " \"text\": \"\",\n" +
  737. " \"name\": \"extxianjuzhudi_433107_39649856\",\n" +
  738. " \"value\": \"现居住地1\"\n" +
  739. " }\n" +
  740. " ],\n" +
  741. " \"fileInfos\": []\n" +
  742. " }\n" +
  743. " ],\n" +
  744. " \"project\": [\n" +
  745. " {\n" +
  746. " \"id\": \"2f71eb93-e55b-431b-baa0-6be27cba0b96\",\n" +
  747. " \"duty\": null,\n" +
  748. " \"endDate\": \"2023-01-27T00:00:00\",\n" +
  749. " \"hardwareEnvironment\": null,\n" +
  750. " \"job\": null,\n" +
  751. " \"performance\": null,\n" +
  752. " \"projectAchievement\": null,\n" +
  753. " \"projectDescribe\": \"描述_程序开发\",\n" +
  754. " \"projectDevelopmentTools\": null,\n" +
  755. " \"projectName\": \"基金公司绩效\",\n" +
  756. " \"projectNumber\": 0,\n" +
  757. " \"projectSoftwareEnvironment\": null,\n" +
  758. " \"startDate\": \"2022-01-01T00:00:00\",\n" +
  759. " \"extendInfos\": [\n" +
  760. " {\n" +
  761. " \"text\": null,\n" +
  762. " \"name\": \"Onwer\",\n" +
  763. " \"value\": 408191750\n" +
  764. " },\n" +
  765. " {\n" +
  766. " \"text\": \"\",\n" +
  767. " \"name\": \"extdanrenjiaose_433107_156597402\",\n" +
  768. " \"value\": \"担任角色_开发\"\n" +
  769. " },\n" +
  770. " {\n" +
  771. " \"text\": \"\",\n" +
  772. " \"name\": \"extfujian_433107_311929262\",\n" +
  773. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753150885/3/4e97d45b3ac14da492a89261a03650da.png,dfs://RecruitOnBoardingFile/433107/1753150889/3/c5f0cb72fe2d4cba89dd7e9be52681dd.png\"\n" +
  774. " },\n" +
  775. " {\n" +
  776. " \"text\": \"\",\n" +
  777. " \"name\": \"extsuoshuhangye_433107_1169231169\",\n" +
  778. " \"value\": \"所属行业_继续\"\n" +
  779. " }\n" +
  780. " ],\n" +
  781. " \"fileInfos\": [\n" +
  782. " {\n" +
  783. " \"name\": \"extfujian_433107_311929262\",\n" +
  784. " \"downloadUrls\": [\n" +
  785. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150885/3/4e97d45b3ac14da492a89261a03650da.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=da8804ff8bb9c6d520c362e9e2aa03ecbf77ba6c\",\n" +
  786. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150889/3/c5f0cb72fe2d4cba89dd7e9be52681dd.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=ecbb4ca587398d5f32a9d9b5d22dd20e585e1782\"\n" +
  787. " ],\n" +
  788. " \"clientUrls\": [\n" +
  789. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150885/3/4e97d45b3ac14da492a89261a03650da.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=5d87104e4c47a15a16c8591ea960765cff5ad920\",\n" +
  790. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150889/3/c5f0cb72fe2d4cba89dd7e9be52681dd.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=b26d3d2001059f2cf9a2ee256a6dcbaf3eef4ba0\"\n" +
  791. " ]\n" +
  792. " }\n" +
  793. " ]\n" +
  794. " },\n" +
  795. " {\n" +
  796. " \"id\": \"99a09572-d73f-4b87-b625-b3126f18f357\",\n" +
  797. " \"duty\": null,\n" +
  798. " \"endDate\": \"2024-06-19T00:00:00\",\n" +
  799. " \"hardwareEnvironment\": null,\n" +
  800. " \"job\": null,\n" +
  801. " \"performance\": null,\n" +
  802. " \"projectAchievement\": null,\n" +
  803. " \"projectDescribe\": \"描述:程序开发1\",\n" +
  804. " \"projectDevelopmentTools\": null,\n" +
  805. " \"projectName\": \"游戏公司-企微对接\",\n" +
  806. " \"projectNumber\": 0,\n" +
  807. " \"projectSoftwareEnvironment\": null,\n" +
  808. " \"startDate\": \"2023-07-21T00:00:00\",\n" +
  809. " \"extendInfos\": [\n" +
  810. " {\n" +
  811. " \"text\": null,\n" +
  812. " \"name\": \"Onwer\",\n" +
  813. " \"value\": 408191750\n" +
  814. " },\n" +
  815. " {\n" +
  816. " \"text\": \"\",\n" +
  817. " \"name\": \"extdanrenjiaose_433107_156597402\",\n" +
  818. " \"value\": \"担任角色_开发1\"\n" +
  819. " },\n" +
  820. " {\n" +
  821. " \"text\": \"\",\n" +
  822. " \"name\": \"extfujian_433107_311929262\",\n" +
  823. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753150976/3/8b367c1e02434f26bdc83e07f031128f.zip\"\n" +
  824. " },\n" +
  825. " {\n" +
  826. " \"text\": \"\",\n" +
  827. " \"name\": \"extsuoshuhangye_433107_1169231169\",\n" +
  828. " \"value\": \"所属行业_游戏\"\n" +
  829. " }\n" +
  830. " ],\n" +
  831. " \"fileInfos\": [\n" +
  832. " {\n" +
  833. " \"name\": \"extfujian_433107_311929262\",\n" +
  834. " \"downloadUrls\": [\n" +
  835. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753150976/3/8b367c1e02434f26bdc83e07f031128f.zip?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=57308ad67597df53d2e99f16af67ad6bc970be14\"\n" +
  836. " ],\n" +
  837. " \"clientUrls\": [\n" +
  838. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753150976/3/8b367c1e02434f26bdc83e07f031128f.zip?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=a15d55d156f773013a5b4de838808857cb6c0a62\"\n" +
  839. " ]\n" +
  840. " }\n" +
  841. " ]\n" +
  842. " }\n" +
  843. " ],\n" +
  844. " \"train\": [],\n" +
  845. " \"entryRecord\": [\n" +
  846. " {\n" +
  847. " \"id\": \"1e656f5d-e58e-4678-ae3d-980d41aab662\",\n" +
  848. " \"infoCollectionStatus\": 2,\n" +
  849. " \"status\": 0,\n" +
  850. " \"infoCollectionSender\": 10000,\n" +
  851. " \"infoCollectionSendTime\": \"2025-07-22T09:59:16.6322473\",\n" +
  852. " \"infoCollectionCompleteTime\": \"2025-07-22T10:30:23.5697877\",\n" +
  853. " \"entryDate\": \"2025-07-22T00:00:00\",\n" +
  854. " \"entryWorkStatus\": null,\n" +
  855. " \"recordWorkFailReason\": \"\",\n" +
  856. " \"workStatus\": null,\n" +
  857. " \"applicantId\": \"c41a4bcd-d8d8-4312-8c5c-12536425fc69\",\n" +
  858. " \"applyId\": \"ea7af412-209e-45d5-bd83-16ff539f32b0\",\n" +
  859. " \"employmentRecordId\": \"aa7b4011-332c-4a07-af1d-1e047840e9a8\",\n" +
  860. " \"createdTime\": \"2025-07-22T09:59:13.6970679\",\n" +
  861. " \"extendInfos\": [\n" +
  862. " {\n" +
  863. " \"text\": null,\n" +
  864. " \"name\": \"Onwer\",\n" +
  865. " \"value\": 10000\n" +
  866. " },\n" +
  867. " {\n" +
  868. " \"text\": null,\n" +
  869. " \"name\": \"PrivacyAgreementIds\",\n" +
  870. " \"value\": \"ee4456c4-322f-4ad3-ad78-f31d685841b7\"\n" +
  871. " },\n" +
  872. " {\n" +
  873. " \"text\": \"\",\n" +
  874. " \"name\": \"extbiandongcaozuo2_433107_1823558993\",\n" +
  875. " \"value\": \"SHR01\"\n" +
  876. " },\n" +
  877. " {\n" +
  878. " \"text\": \"\",\n" +
  879. " \"name\": \"extbiandongleixing_433107_1308621716\",\n" +
  880. " \"value\": \"0101\"\n" +
  881. " },\n" +
  882. " {\n" +
  883. " \"text\": \"\",\n" +
  884. " \"name\": \"extbiandongyuanyin_433107_372757505\",\n" +
  885. " \"value\": \"RZ03\"\n" +
  886. " },\n" +
  887. " {\n" +
  888. " \"text\": \"\",\n" +
  889. " \"name\": \"extbumenzhuli_433107_1218698613\",\n" +
  890. " \"value\": 408087461\n" +
  891. " },\n" +
  892. " {\n" +
  893. " \"text\": \"\",\n" +
  894. " \"name\": \"extdaoshi_433107_1289690510\",\n" +
  895. " \"value\": 408087461\n" +
  896. " },\n" +
  897. " {\n" +
  898. " \"text\": \"\",\n" +
  899. " \"name\": \"extgongzuorili_433107_1215174110\",\n" +
  900. " \"value\": \"1\"\n" +
  901. " },\n" +
  902. " {\n" +
  903. " \"text\": \"\",\n" +
  904. " \"name\": \"extguoji2_433107_2056340697\",\n" +
  905. " \"value\": \"01\"\n" +
  906. " },\n" +
  907. " {\n" +
  908. " \"text\": \"\",\n" +
  909. " \"name\": \"extqianyuelaodonghetongzhuti_433107_2131946049\",\n" +
  910. " \"value\": \"1\"\n" +
  911. " },\n" +
  912. " {\n" +
  913. " \"text\": \"\",\n" +
  914. " \"name\": \"extruzhiduiyingoabumen_433107_1511952075\",\n" +
  915. " \"value\": \"网络SBU/软件测试部\"\n" +
  916. " },\n" +
  917. " {\n" +
  918. " \"text\": \"\",\n" +
  919. " \"name\": \"extruzhiduiyingoagangwei_433107_913974448\",\n" +
  920. " \"value\": \"测试工程师\"\n" +
  921. " },\n" +
  922. " {\n" +
  923. " \"text\": \"\",\n" +
  924. " \"name\": \"extruzhixiangguanfujian_433107_64410217\",\n" +
  925. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753155916/3/dc6fb149abc94fb7b1ad8aaa39f54394.docx\"\n" +
  926. " },\n" +
  927. " {\n" +
  928. " \"text\": \"\",\n" +
  929. " \"name\": \"extyonggongguanxizhuangtai_433107_475242445\",\n" +
  930. " \"value\": \"002\"\n" +
  931. " },\n" +
  932. " {\n" +
  933. " \"text\": \"\",\n" +
  934. " \"name\": \"extyuangongxinchoufenlei_433107_193802093\",\n" +
  935. " \"value\": \"1\"\n" +
  936. " },\n" +
  937. " {\n" +
  938. " \"text\": \"\",\n" +
  939. " \"name\": \"extyujizhuanzhengriqi_433107_562953811\",\n" +
  940. " \"value\": \"2025-10-22T00:00:00\"\n" +
  941. " },\n" +
  942. " {\n" +
  943. " \"text\": \"\",\n" +
  944. " \"name\": \"extzhaopinfangshi_433107_570935919\",\n" +
  945. " \"value\": \"1\"\n" +
  946. " },\n" +
  947. " {\n" +
  948. " \"text\": \"\",\n" +
  949. " \"name\": \"extzhaopinjingbanren1_433107_1145817997\",\n" +
  950. " \"value\": 405240902\n" +
  951. " },\n" +
  952. " {\n" +
  953. " \"text\": \"\",\n" +
  954. " \"name\": \"extyonggongleixing_433107_688743033\",\n" +
  955. " \"value\": null\n" +
  956. " },\n" +
  957. " {\n" +
  958. " \"text\": \"\",\n" +
  959. " \"name\": \"extbiandongcaozuo_433107_332389092\",\n" +
  960. " \"value\": null\n" +
  961. " },\n" +
  962. " {\n" +
  963. " \"text\": \"\",\n" +
  964. " \"name\": \"extzengyuanleixing_433107_1766625201\",\n" +
  965. " \"value\": null\n" +
  966. " },\n" +
  967. " {\n" +
  968. " \"text\": \"\",\n" +
  969. " \"name\": \"extguoji_433107_892439433\",\n" +
  970. " \"value\": null\n" +
  971. " },\n" +
  972. " {\n" +
  973. " \"text\": \"\",\n" +
  974. " \"name\": \"extshenfenzhengdizhi_433107_1369475263\",\n" +
  975. " \"value\": null\n" +
  976. " }\n" +
  977. " ],\n" +
  978. " \"fileInfos\": [\n" +
  979. " {\n" +
  980. " \"name\": \"extruzhixiangguanfujian_433107_64410217\",\n" +
  981. " \"downloadUrls\": [\n" +
  982. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753155916/3/dc6fb149abc94fb7b1ad8aaa39f54394.docx?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=25a4f683a11aeab3825c452f5586829c2b3c5018\"\n" +
  983. " ],\n" +
  984. " \"clientUrls\": [\n" +
  985. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753155916/3/dc6fb149abc94fb7b1ad8aaa39f54394.docx?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=5526a6b40052f2bbbb80bdb34cf4a6b85ef79008\"\n" +
  986. " ]\n" +
  987. " }\n" +
  988. " ]\n" +
  989. " }\n" +
  990. " ],\n" +
  991. " \"employmentRecord\": [\n" +
  992. " {\n" +
  993. " \"organizationName\": \"测试北森入职对接部门\",\n" +
  994. " \"organizationCode\": \"0-25\",\n" +
  995. " \"fileInfos\": [],\n" +
  996. " \"id\": \"aa7b4011-332c-4a07-af1d-1e047840e9a8\",\n" +
  997. " \"entryDate\": \"2025-07-22T00:00:00\",\n" +
  998. " \"jobNumber\": null,\n" +
  999. " \"isCharge\": null,\n" +
  1000. " \"place\": 1203,\n" +
  1001. " \"userID\": 408191750,\n" +
  1002. " \"originalId\": 2858566,\n" +
  1003. " \"post\": \"06f16c10-6f44-44c5-a3c4-a938d1f5dd36\",\n" +
  1004. " \"jobRank\": null,\n" +
  1005. " \"jobGrade\": null,\n" +
  1006. " \"poIdEmpAdmin\": 0,\n" +
  1007. " \"poIdEmpReserve\": 0,\n" +
  1008. " \"job\": null,\n" +
  1009. " \"planEntryDate\": null,\n" +
  1010. " \"planDate\": \"2025-07-21T00:00:00\",\n" +
  1011. " \"probationDate\": 3,\n" +
  1012. " \"extendInfos\": [\n" +
  1013. " {\n" +
  1014. " \"text\": null,\n" +
  1015. " \"name\": \"Onwer\",\n" +
  1016. " \"value\": 10000\n" +
  1017. " }\n" +
  1018. " ]\n" +
  1019. " }\n" +
  1020. " ],\n" +
  1021. " \"subCollection1\": [\n" +
  1022. " {\n" +
  1023. " \"id\": \"211f2ca0-543d-4b5b-b6c0-69e714e23271\",\n" +
  1024. " \"fields\": [\n" +
  1025. " {\n" +
  1026. " \"name\": \"Onwer\",\n" +
  1027. " \"value\": 408191750\n" +
  1028. " },\n" +
  1029. " {\n" +
  1030. " \"name\": \"extfujian_433107_1151835352\",\n" +
  1031. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753151306/3/048f2c32943f462fa74de6bb81b845b3.xlsx,dfs://RecruitOnBoardingFile/433107/1753151311/3/efaf18ee8ab44abe91454e908ab15e92.png\"\n" +
  1032. " },\n" +
  1033. " {\n" +
  1034. " \"name\": \"exthuoqushijian_433107_1850939387\",\n" +
  1035. " \"value\": \"2010-07-22T00:00:00\"\n" +
  1036. " },\n" +
  1037. " {\n" +
  1038. " \"name\": \"extzhengshubianhao_433107_688995623\",\n" +
  1039. " \"value\": \"证书编号1\"\n" +
  1040. " },\n" +
  1041. " {\n" +
  1042. " \"name\": \"extzhengshumingcheng_433107_314430288\",\n" +
  1043. " \"value\": \"证书名称1\"\n" +
  1044. " },\n" +
  1045. " {\n" +
  1046. " \"name\": \"extzigezhengjibie_433107_85094135\",\n" +
  1047. " \"value\": \"资格证级别1\"\n" +
  1048. " }\n" +
  1049. " ],\n" +
  1050. " \"fileInfos\": [\n" +
  1051. " {\n" +
  1052. " \"name\": \"extfujian_433107_1151835352\",\n" +
  1053. " \"downloadUrls\": [\n" +
  1054. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151306/3/048f2c32943f462fa74de6bb81b845b3.xlsx?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=e4743cb9b61755a6b5c646e8c453f88dc8728c18\",\n" +
  1055. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151311/3/efaf18ee8ab44abe91454e908ab15e92.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=d2ce3684190845bf262c7454e0410608936c50ac\"\n" +
  1056. " ],\n" +
  1057. " \"clientUrls\": [\n" +
  1058. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151306/3/048f2c32943f462fa74de6bb81b845b3.xlsx?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=df31713c5238fe20c8e607d32f453d657ee9abb8\",\n" +
  1059. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151311/3/efaf18ee8ab44abe91454e908ab15e92.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=88d2829e727a93fb76685d80022c6fd049391ca0\"\n" +
  1060. " ]\n" +
  1061. " }\n" +
  1062. " ]\n" +
  1063. " },\n" +
  1064. " {\n" +
  1065. " \"id\": \"211f2ca0-543d-4b5b-b6c0-69e714e23271\",\n" +
  1066. " \"fields\": [\n" +
  1067. " {\n" +
  1068. " \"name\": \"Onwer\",\n" +
  1069. " \"value\": 408191750\n" +
  1070. " },\n" +
  1071. " {\n" +
  1072. " \"name\": \"extfujian_433107_1151835352\",\n" +
  1073. " \"value\": \"dfs://RecruitOnBoardingFile/433107/1753151306/3/048f2c32943f462fa74de6bb81b845b3.xlsx,dfs://RecruitOnBoardingFile/433107/1753151311/3/efaf18ee8ab44abe91454e908ab15e92.png\"\n" +
  1074. " },\n" +
  1075. " {\n" +
  1076. " \"name\": \"exthuoqushijian_433107_1850939387\",\n" +
  1077. " \"value\": \"2010-07-22T00:00:00\"\n" +
  1078. " },\n" +
  1079. " {\n" +
  1080. " \"name\": \"extzhengshubianhao_433107_688995623\",\n" +
  1081. " \"value\": \"证书编号1\"\n" +
  1082. " },\n" +
  1083. " {\n" +
  1084. " \"name\": \"extzhengshumingcheng_433107_314430288\",\n" +
  1085. " \"value\": \"证书名称1\"\n" +
  1086. " },\n" +
  1087. " {\n" +
  1088. " \"name\": \"extzigezhengjibie_433107_85094135\",\n" +
  1089. " \"value\": \"资格证级别1\"\n" +
  1090. " }\n" +
  1091. " ],\n" +
  1092. " \"fileInfos\": [\n" +
  1093. " {\n" +
  1094. " \"name\": \"extfujian_433107_1151835352\",\n" +
  1095. " \"downloadUrls\": [\n" +
  1096. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151306/3/048f2c32943f462fa74de6bb81b845b3.xlsx?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=e4743cb9b61755a6b5c646e8c453f88dc8728c18\",\n" +
  1097. " \"https://dfiles.italent.cn/download/recruitonboardingfile/433107/1753151311/3/efaf18ee8ab44abe91454e908ab15e92.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=d2ce3684190845bf262c7454e0410608936c50ac\"\n" +
  1098. " ],\n" +
  1099. " \"clientUrls\": [\n" +
  1100. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151306/3/048f2c32943f462fa74de6bb81b845b3.xlsx?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=df31713c5238fe20c8e607d32f453d657ee9abb8\",\n" +
  1101. " \"https://dfiles.italent.cn/recruitonboardingfile/433107/1753151311/3/efaf18ee8ab44abe91454e908ab15e92.png?sig_t=1753238700&sig_exp=2592000&sig_a=recruitonboarding&sig_pm=8&sig_npm=2&sig_v=1&sig=88d2829e727a93fb76685d80022c6fd049391ca0\"\n" +
  1102. " ]\n" +
  1103. " }\n" +
  1104. " ]\n" +
  1105. " }\n" +
  1106. " ],\n" +
  1107. " \"subCollection2\": null,\n" +
  1108. " \"subCollection3\": null,\n" +
  1109. " \"subCollection4\": null,\n" +
  1110. " \"subCollection5\": null,\n" +
  1111. " \"subCollection6\": null,\n" +
  1112. " \"subCollection7\": null,\n" +
  1113. " \"subCollection8\": null,\n" +
  1114. " \"subCollection9\": null,\n" +
  1115. " \"subCollection10\": null\n" +
  1116. "}]";
  1117. String fieldToRemove = "extfujian";
  1118. String result = processSubCollection(originalJson, fieldToRemove);
  1119. // 指定需要转换的字段
  1120. List<String> list = new ArrayList<String>();
  1121. list.add("extendInfos");
  1122. list.add("fileInfos");
  1123. list.add("fields");
  1124. // 执行转换
  1125. String convertedJson = convertDataFields(result, list);
  1126. System.out.println(convertedJson);
  1127. }
  1128. }