当前位置: 首页 > 知识库问答 >
问题:

Java使用jsonpath从另一个Json创建一个新的Json读取

辛健
2023-03-14

在Java(任何库)中,从像下面这样的json开始(具有嵌套字段、数组和嵌入文档):

{
  "first" : "1",
  "second" : {
     "third" : "3",
     "fourth" : "4"
  },
  "fifth" : [
     {
        "index" : 0,
        "value": "something"
     },
     {
        "index" : 1,
        "value": "else"
     }
  ]
}

然后应用以下jsonpath(作为示例,理想情况下是任何类型的jsonpath)

  • 第二.第四
  • 第五次[1]。[*]

创建如下所示的json文档:

{
  "second" : {
    "fourth" : "4"
  },
  "fifth" : [
     {
        "index" : 1,
        "value": "else"
     }
  ]
}

所以问题是:使用jsonpath不仅可以获取数据,还可以获取所有嵌套字段,并创建一个新的json作为输入的子集?

任何例子都像往常一样受到赞赏

注意:在对此进行了大量思考之后,我得出的结论是,我需要的是一个来自Mongodb的$Project的实现,但是在Java并且没有数据库。

共有1个答案

苏畅
2023-03-14

如果您可以使用lodash,那么就有对象的set和get函数。

var source = {
  "first" : "1",
  "second" : {
     "third" : "3",
     "fourth" : "4"
  },
  "fifth" : [
     {
        "index" : 0,
        "value": "something"
     },
     {
        "index" : 1,
        "value": "else"
     }
  ]
};

var destination = {};

var path = "second.fourth";

_.set(destination, path, _.get(source, path));

path = "fifth[0]";     //Drawback -> if use fifth[1], then destination.fifth will have 0th element empty and 1st element filled.

_.set(destination, path, _.get(source, path));

否则,您将需要为这些set和get运算符编写javascript。

 类似资料:
  • 本文向大家介绍postgresql 创建一个纯JSON表,包括了postgresql 创建一个纯JSON表的使用技巧和注意事项,需要的朋友参考一下 示例 要创建纯JSON表,您需要提供一个类型为的字段JSONB: 您还应该创建一个基本索引: 此时,您可以将数据插入表中并进行有效查询。

  • 问题内容: 我有以下JSON,我需要使用JSONPath获得纯值: 我使用的表达式是,但是我总是得到一个数组: 而不是字符串值()。 问题答案: 但是我总是得到一个数组: 那是必然的。如您在本文档中所读,位于“结果”下(几乎在底部): 请注意,jsonPath的返回值是一个数组,也是一个有效的JSON结构。因此,您可能想再次将jsonPath应用于结果结构,或使用您喜欢的数组方法之一对其进行排序。

  • 导读 Gem 犹如 Ruby 的左肩右膀,绝大部分框架都以 Gem 的形式发布。例如: gem install rails 但是,Gem 并不难编写。下面你跟着我走,不消 15 分钟就可以创建一个完整的 Gem 了。 安装 Git Git 是一个出色的版本管理工具,在这里,请安装一下。使用 Ubuntu: sudo apt-get install git CentOS or Fedora: yu

  • 问题内容: 假设我有一个名为的课程, 我想创建一个新的ArrayList,其值将为type 。 我的问题是:我该怎么做? 我不懂Java Api。 我尝试了这个: 问题答案: 您正在寻找Java泛型 这是一个教程http://docs.oracle.com/javase/tutorial/java/generics/index.html

  • 问题内容: 我有一个千兆字节的JSON文件。该文件由每个不超过几千个字符的JSON对象组成,但是记录之间没有换行符。 使用Python 3和模块,如何一次将一个JSON对象从文件读入内存? 数据在纯文本文件中。这是类似记录的示例。实际记录包含许多嵌套的字典和列表。 以可读格式记录: 实际格式。新记录一个接一个地开始,没有任何中断。 问题答案: 一般而言,将多个JSON对象放入一个文件会使该文件 无

  • 问题内容: 我们没有只介绍ArrayLists数组和2D数组。我需要做的是能够从另一个类的ArrayList中读取。主要目的是在for循环中读取它们,并使用存储在其中的值显示项目。但是,我已经制作了这个快速程序来对其进行测试并不断得到此错误 这是我的代码 然后是ArrayList所在的类 如果有人可以指出正确的方向,那将非常有价值。我尝试调试,但是我可以获得任何帮助。 提前致谢。 问题答案: 严格