java - 如何去除JSONArray String 中不需要的对象名?

标签 java json string logic

我有如下字符串格式的 JSONArray:

{
    "productsList": [{
            "map": {
                "productSubcategory": "Levensverzekering",
                "nameFirstInsured": "Akkerman"
            }
        },
        {
            "map": {
                "productSubcategory": "Lineair dalend",
                "nameFirstInsured": "Akkerman"
            }
        }
    ]
}

我想按如下方式转换这个字符串:

{
    "productsList": [{

            "productSubcategory": "Levensverzekering",
            "nameFirstInsured": "Akkerman"

        },
        {

            "productSubcategory": "Lineair dalend",
            "nameFirstInsured": "Akkerman"

        }
    ]
}

我已将 JSONArray 转换为 String,因此需要像对 JSON 格式提供的 String 上的 String 一样进行操作。 如何根据需要更改字符串?我应该在 jsonString.replaceAll("","") 函数中放入什么?

最佳答案

没有简单的方法可以做到这一点,你必须这样做。

输出是:

{  
   "productsList":[  
      {  
         "productSubcategory":"Levensverzekering",
         "nameFirstInsured":"Akkerman"
      },
      {  
         "productSubcategory":"Lineair dalend",
         "nameFirstInsured":"Akkerman"
      }
   ]
}



import java.io.FileReader;
import java.io.IOException;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;


public class test {

    public static void main(String[] args) throws IOException, InterruptedException {
        JSONParser parser = new JSONParser();
        JSONObject newObj = new JSONObject();
        try {
            Object obj = parser.parse(new FileReader("test.json"));
            JSONObject jsonObject = (JSONObject) obj;
            JSONArray arr = (JSONArray) jsonObject.get("productsList");
            JSONArray newArr = new JSONArray();
            for(int i = 0 ; i < arr.size();i++){
                JSONObject object = (JSONObject) arr.get(i);
                JSONObject a = (JSONObject) object.get("map");
                newArr.add(a);
            }
            newObj.put("productsList", newArr);
            System.out.println(newObj);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

关于java - 如何去除JSONArray String 中不需要的对象名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46321373/

相关文章:

javascript - 重构和压缩 JSON 对象

c++如何打印另一种类型变量的String属性的值?

java - 使用 Jaxb 解码 MixedContent 返回带有 null 变量的对象

java - 空指针异常在哪里?

html - 如何使用外部 JSON 文件而不是 HTML 中的硬编码 JSON 文件?

java - 从不断变化的字符串中获取子字符串

c++ - String Verifier 字符循环无法正常工作

java - 如何检查重复项是否未添加到 LinkedBlockingQueue 中?

用于多个 FXML 的 Java FX 1 Controller - 使用 Singleton

ruby - Ruby 中的 JSON 解析