从各种 JSON 路径创建 JSON 对象

问题描述

我们需要从提供的各种 JSONPath 中创建 JSON 对象。例如,下面是要创建的新 JSON 对象中存在的两个路径和该路径的值。

$.student.firstName = "Abc"
$.student.subject['physics'].mark=100

是否有任何 Java 开源库可以帮助仅从此路径创建结果对象?

{
 "student":{
 "firstName":"Abc","physics":{
   "mark":100
  }
 }
}

我们探索了某些库,例如 JSONPath。它可以选择解析 JSON 文件,但不能选择从路径递归创建 JSON 文件

解决方法

使用 lodash/set 提供了一个简单的解决方案,例如:

const set = require('lodash/set');
const object = {};
paths.forEach(cmsPath => set(cmsObject,cmsPath,null));