【问题标题】:Convert array of strings in json to normal String array in java将json中的字符串数组转换为java中的普通字符串数组
【发布时间】:2021-04-18 11:57:17
【问题描述】:

这是来自网络服务的响应:

{"courses":["Bca Graphics","OS","DBMS","dnn"]}

我想将课程数组解析为 Java 字符串数组?我试过了,但我找不到解决办法。

【问题讨论】:

  • 您是否使用任何特定的 JSON 解析器库?
  • 不,我是开发新手,我正在学习,使用 volley 将 api 请求从 android 发送到 php 服务器并使用 getString 方法处理响应。
  • 那我建议你看看。研究总是比这里的解决方案更能让你理解。

标签: java android json


【解决方案1】:

使用org.json.JSONObject,您可以执行以下操作:

String jsonStr = "{\"courses\":[\"Bca Graphics\",\"OS\",\"DBMS\",\"dnn\"]}";

JSONArray jsonArray = new JSONObject(jsonStr).getJSONArray("courses");
List<String> strings = jsonArray.toList().stream()
            .map(Object::toString)
            .collect(Collectors.toList());

【讨论】:

    【解决方案2】:

    你可以在这里使用 Gson。

    String inputJson = "{\"courses\":[\"Bca Graphics\",\"OS\",\"DBMS\",\"dnn\"]}";
    Gson gSon = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.IDENTITY).create();
    MyPojo myPojo = gSon.fromJson(inputJson, MyPojo.class);
    System.out.println(myPojo.getCourses());
    

    POJO

    public class MyPojo {
        public List<String> courses;
        public List<String> getCourses() {
            return courses;
        }
        public void setCourses(List<String> courses) {
            this.courses = courses;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多