转换代码:
String[] comments = json2.getString(KEY_COMMENT);
KEY_COMMENT 是包含很多评论的字符串,这些评论都放在PHP数组中,然后返回给电话转换成Json 字符串。应该怎么转换成数组?
下面是类似评论的例子
07-08 20:33:08.227: E/JSON(22615): {
"tag":"collectComments",
"success":1,
"error":0,
"numberOfComments":16,
"offsetNumber":1,
"comment":["test 16",
"test 15",
"test 14",
"test 13",
"test 12",
"test 11",
"test 10",
"test 9",
"test 8",
"test 7",
"test 6",
"test 5",
"test 4",
"test 3",
"test 2",
"test 1"]}n
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Java中,如果你使用的是org.json库来解析JSON字符串,你可以按照以下方式将JSON字符串转换为String数组:
首先,确保你的项目已经添加了org.json相关的依赖。如果使用Maven,可以在pom.xml文件中添加如下依赖:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
然后,你可以使用以下代码来解析JSON字符串并提取评论到一个String数组中:
import org.json.JSONObject;
public class JsonToArrayExample {
public static void main(String[] args) {
String jsonString = "{\n" +
"\"tag\":\"collectComments\",\n" +
"\"success\":1,\n" +
"\"error\":0,\n" +
"\"numberOfComments\":16,\n" +
"\"offsetNumber\":1,\n" +
"\"comment\":[\"test 16\",\"test 15\",\"test 14\",\"test 13\",\"test 12\",\"test 11\",\"test 10\",\"test 9\",\"test 8\",\"test 7\",\"test 6\",\"test 5\",\"test 4\",\"test 3\",\"test 2\",\"test 1\"]\n" +
"}";
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray jsonArray = jsonObject.getJSONArray("comment");
// 将JSONArray转换为String数组
String[] comments = jsonArray.toString().replaceAll("\\[|\\]", "").split(",(?![^\\[\\]]*\\])");
// 打印数组内容验证
for (String comment : comments) {
System.out.println(comment.trim());
}
}
}
这段代码首先创建了一个JSONObject实例来解析传入的JSON字符串,然后通过键名"comment"获取对应的JSONArray。之后,我们将这个JSONArray转换成一个String数组。这里使用了正则表达式来去除方括号,并以逗号作为分隔符进行分割,最后得到一个包含所有评论的String数组。
请注意,根据实际情况调整JSON字符串和方法调用,确保与你的应用环境兼容。