抱歉,如果有人早些时候问这个问题,但是我却找不到。
我的查询是
像这样的字符串-> {“ value”:123,“ key”:abc};
变成=>
String str = ['"','v','a','l','u','e',':','1','2','3',',','k','e','y',':','a','b','c','"']; // char array
str [0]将为“,str [1]将为v
因此,我想知道是否有可能借此获取价值。
比方说
str.getString("value") = 123 <- output expecting
我尝试过的事情:
1. JSONObject newStr = (JSONObject)JsonSerializer.toJSON(str);
2. Str.contains("key")
3. JSONObject newStr = new JSONObject(str);
但对我没有任何作用。
谁能帮我这个忙。
有什么办法可以让我得到这样的答案。
str.get(“ value”)= 123
和str.get(“ key”)= abc
最佳答案
也许分别用{
和}
更新char数组中的第一个和最后一个元素。
从中构造一个字符串。
将其解析为JSONObject,然后可以获取所需的内容。
样例代码:
Character[] str = {'{', 'v','a','l','u','e',':','1','2','3',',','k','e','y',':','a','b','c','}'};
StringBuilder sb = new StringBuilder(str.length);
for (Character c : str)
sb.append(c.charValue());
String strb = sb.toString();
JSONObject obj = new JSONObject(strb);
System.out.print(obj.get("value"));
输出量
123