Java 如何删除JSONArray字符串中不必要的对象名?

Java 如何删除JSONArray字符串中不必要的对象名?,java,json,string,logic,Java,Json,String,Logic,我有如下字符串格式的JSONArray: { "productsList": [{ "map": { "productSubcategory": "Levensverzekering", "nameFirstInsured": "Akkerman" } }, { "map": { "prod

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

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

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

        },
        {

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

        }
    ]
}
我想按如下方式转换此字符串:

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

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

        },
        {

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

        }
    ]
}
我已将JSONArray转换为字符串,因此需要对JSON格式的提供字符串上的字符串进行操作。
如何根据需要更改字符串?在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();
        }
    }
}
{
“产品列表”:[
{  
“productSubcategory”:“Levensverzekering”,
“名称第一被保险人”:“阿克曼”
},
{  
“productSubcategory”:“Lineair dalend”,
“名称第一被保险人”:“阿克曼”
}
]
}
导入java.io.FileReader;
导入java.io.IOException;
导入org.json.simple.JSONArray;
导入org.json.simple.JSONObject;
导入org.json.simple.parser.JSONParser;
公开课考试{
公共静态void main(字符串[]args)引发IOException、InterruptedException{
JSONParser=新的JSONParser();
JSONObject newObj=新JSONObject();
试一试{
objectobj=parser.parse(新文件阅读器(“test.json”);
JSONObject JSONObject=(JSONObject)对象;
JSONArray arr=(JSONArray)jsonObject.get(“productsList”);
JSONArray newArr=新的JSONArray();
对于(int i=0;i
否,您不应该从字符串开始执行此操作。处理实际对象,将其转换为您想要的形式,然后将其编码为JSON。JsonArray实际上不包含“映射”字,但当我将其应用于Gson时,它会自动将其作为各种不同的对象。这就是为什么我需要对字符串本身进行运算的原因。不知道你们想说什么。当一个对象被转换为JSON时,一个键不会神奇地出现——这个对象必须有这个键才能开始。