Java 如何删除JSONArray字符串中不必要的对象名?
我有如下字符串格式的JSONArray:Java 如何删除JSONArray字符串中不必要的对象名?,java,json,string,logic,Java,Json,String,Logic,我有如下字符串格式的JSONArray: { "productsList": [{ "map": { "productSubcategory": "Levensverzekering", "nameFirstInsured": "Akkerman" } }, { "map": { "prod
{
"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时,一个键不会神奇地出现——这个对象必须有这个键才能开始。