Sangeetha.V
Sangeetha.V

Reputation: 115

How to replace a string inside of Json using java

[
    "label": {
        "originalName"      : "Case #",
        "modifiedLabel"     : "Case #",
        "labelId"           : "case_number_lbl",
        "isEditable"        : "true",
        "imageClass"        : ""
    }
]

In the above Json Array I need to replace "Case #" with "Ticket #". This is occuring in somany places. Any one update please. Thanks In advance.

Upvotes: 0

Views: 16623

Answers (3)

Jaroslaw Pawlak
Jaroslaw Pawlak

Reputation: 5588

I think a simple loop should solve your problem:

public static void main(String[] args) throws JSONException {
    JSONArray array = new JSONArray("[" +
            "    {" +
            "        originalName      : \"Case #\"," +
            "        modifiedLabel     : \"Case #\"," +
            "        labelId           : \"case_number_lbl\"," +
            "        isEditable        : \"true\"," +
            "        imageClass        : \"\"" +
            "    }" +
            "]");

    System.out.println(array.toString(2));

    for (int i = 0; i < array.length(); i++) {
        JSONObject object = array.getJSONObject(i);
        JSONArray keys = object.names();
        for (int j = 0; j < keys.length(); j++) {
            String key = keys.getString(j);
            if (object.getString(key).equals("Case #")) {
                object.put(key, "Ticket #");
            }
        }
    }

    System.out.println();
    System.out.println(array.toString(2));
}

Upvotes: 2

Reg
Reg

Reputation: 11265

You can exchange the value with the help String.replaceAll()

String jSONString = ...; // Your JSon string
String newString = jSONString.replace("Case #", "Ticket #");

Upvotes: 1

Joker
Joker

Reputation: 11150

You can use GSON to convert your json to java Object and then you can change your string .

Upvotes: 2

Related Questions