Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何过滤JSON数组_Java - Fatal编程技术网

Java 如何过滤JSON数组

Java 如何过滤JSON数组,java,Java,我有一个动态JSON数组,需要根据“isCalculatedField”:false过滤JSON 如何获取包含“isCalculatedField”的子JSON列表:false?? 我有字符串形式的JSON数据。使用: 你可以使用图书馆。通过使用它,您可以在读取JSON数据时过滤JSON 您将定义一个包含映射定义的YAML文件 映射文件: result: type: array # result is array path: / filter: self.data.isCal

我有一个动态JSON数组,需要根据“isCalculatedField”:false过滤JSON

如何获取包含“isCalculatedField”的子JSON列表:false?? 我有字符串形式的JSON数据。

使用:

你可以使用图书馆。通过使用它,您可以在读取JSON数据时过滤JSON

您将定义一个包含映射定义的YAML文件

映射文件:

result:
  type: array     # result is array
  path: /
  filter: self.data.isCalculatedField  # filter by isCalculatedField
  fields:
    id:
    description:
    modelPath:
    isCalculatedField: boolean
    format:
使用DSM过滤数据

DSM dsm=new DSMBuilder(new File("path/to/config.yaml")).create();
Object object=dsm.toObject(new File("path/to/data.json");
结果如下:

[ {
  "id" : "CX.YEARS.AT.EMPLOYER",
  "description" : "Years employed",
  "format" : "DROPDOWNLIST",
  "modelPath" : "Loan.CustomFields[(FieldName == 'CX.YEARS.AT.EMPLOYER')].StringValue",
  "isCalculatedField" : true
}, {
  "id" : "CX.YEARS.AT.RESIDENCE",
  "description" : "Years at residence",
  "format" : "DROPDOWNLIST",
  "modelPath" : "Loan.CustomFields[(FieldName == 'CX.YEARS.AT.RESIDENCE')].StringValue",
  "isCalculatedField" : true
}, {
  "id" : "CX.YEARS.AT.RESIDENCE",
  "description" : "Years at residence",
  "format" : "DROPDOWNLIST",
  "modelPath" : "Loan.CustomFields[(FieldName == 'CX.YEARS.AT.RESIDENCE')].StringValue",
  "isCalculatedField" : true
} ]

请包括保存此数据的声明/实际数据结构。这完全取决于数据类型,问题中显示的内容可以是任何内容:字符串、集合、列表……欢迎使用堆栈溢出!在这里提问时,请向我们展示您自己试图解决的问题。同时,这里有一个建议:解析JSON。如果您使用的是Visual Studio,您可以使用Newtonsoft的JSON解析器来实现此目的。简单的解决方案是,迭代JSON数组(使用任何JSON API),检查
isCalculatedField
的值,并相应地创建一个新的JSON。试着带着更多的信息回来。仅供参考:请参见和您的问题。
result:
  type: array     # result is array
  path: /
  filter: self.data.isCalculatedField  # filter by isCalculatedField
  fields:
    id:
    description:
    modelPath:
    isCalculatedField: boolean
    format:
DSM dsm=new DSMBuilder(new File("path/to/config.yaml")).create();
Object object=dsm.toObject(new File("path/to/data.json");
[ {
  "id" : "CX.YEARS.AT.EMPLOYER",
  "description" : "Years employed",
  "format" : "DROPDOWNLIST",
  "modelPath" : "Loan.CustomFields[(FieldName == 'CX.YEARS.AT.EMPLOYER')].StringValue",
  "isCalculatedField" : true
}, {
  "id" : "CX.YEARS.AT.RESIDENCE",
  "description" : "Years at residence",
  "format" : "DROPDOWNLIST",
  "modelPath" : "Loan.CustomFields[(FieldName == 'CX.YEARS.AT.RESIDENCE')].StringValue",
  "isCalculatedField" : true
}, {
  "id" : "CX.YEARS.AT.RESIDENCE",
  "description" : "Years at residence",
  "format" : "DROPDOWNLIST",
  "modelPath" : "Loan.CustomFields[(FieldName == 'CX.YEARS.AT.RESIDENCE')].StringValue",
  "isCalculatedField" : true
} ]