问题描述
我们需要从提供的各种 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));