JSONObject to String Android

2022-09-04 19:43:18

如何将JSONObject转换为没有这些括号的JSONObject?"{hello1: hi, hello2: hey}""hello1: hi, hello2: hey"{ }

我知道有机会使用JSONObject.tostring,但随后我会得到一个带有括号的字符串。

谢谢大家。


答案 1

只需执行子字符串或字符串替换。

子字符串示例:

JSONObject a  = new JSONObject("{hello1: hi, hello2: hey}");
String b = a.toString().substring(1, a.toString().length() - 1);

字符串替换 示例:

JSONObject a  = new JSONObject("{hello1: hi, hello2: hey}");
String b = a.toString().replace("{", "");
String c = b.toString().replace("}", "");

答案 2

假设您确实想做一些比您的问题所建议的更复杂的事情,并且您可以对将要使用的JSON做出一些假设,则可以执行以下操作来获取所需的任何输出格式。

JSONObject json  = new JSONObject("{hello1: hi, hello2: hey}");

StringBuilder sb = new StringBuilder();
for(String k : json.keys()) {
    sb.append(k);
    sb.append(": ").
    sb.append(json.getString(k));
    sb.append(", ")
}

// do something with sb.toString()

话又说回来,我可能已经读得太多了(在这种情况下,@ProgrammerXR的答案就可以了)。