如何使用java替换Json中的字符串

时间:2015-11-17 10:10:15

标签: java

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

在上面的Json数组中,我需要将“Case#”替换为“Ticket#”。这是在somany地方发生的。任何一个更新请。 在此先感谢。

3 个答案:

答案 0 :(得分:2)

您可以使用GSON将您的json转换为java Object,然后您可以更改您的字符串。

答案 1 :(得分:2)

我认为一个简单的循环可以解决你的问题:

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));
}

答案 2 :(得分:1)

您可以使用帮助String.replaceAll()

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