Deva
Deva

Reputation: 1039

How to remove unnecessary object names in String of JSONArray?

I have JSONArray in String format as follows :

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

I want to convert this String as follows :

{
    "productsList": [{

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

        },
        {

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

        }
    ]
}

I have converted JSONArray to String so need operation as on the String on provided String in JSON format. How I can change the String as required? What should I put in jsonString.replaceAll("","") function?

Upvotes: 2

Views: 471

Answers (1)

Abhishek Honey
Abhishek Honey

Reputation: 645

There is no easy way to do this, you have to do something like this.

OUTPUT IS:

{  
   "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();
        }
    }
}

Upvotes: 1

Related Questions