0
点赞
收藏
分享

微信扫一扫

Java 使用gson将json数组转换成数组对象


String strByJson =  "[\n" +
               "    {\n" +
               "        \"recipient_id\": \"1\",\n" +
               "        \"text\": \"\\u60a8\\u597d\\uff0c\\u6211\\u662fCBT\\u5fc3\\u7406\\u54a8\\u8be2\\u52a9\\u624b\\u5c0f\\u82cf\\uff0c\\u975e\\u5e38\\u9ad8\\u5174\\u80fd\\u4e3a\\u60a8\\u670d\\u52a1\\u3002\"\n" +
               "    },\n" +
               "    {\n" +
               "        \"recipient_id\": \"1\",\n" +
               "        \"text\": \"\\u5c0f\\u82cf\\u5c06\\u5e94\\u7528CBT\\u7597\\u6cd5\\u4e3a\\u60a8\\u63d0\\u4f9b\\u54a8\\u8be2\\u670d\\u52a1\\uff0cCBT\\u53c8\\u79f0\\u4e3a\\u8ba4\\u77e5\\u884c\\u4e3a\\u7597\\u6cd5\\uff0c\\u5bf9\\u4e8e\\u591a\\u6570\\u5fc3\\u7406\\u95ee\\u9898\\uff0c\\u5b83\\u662f\\u9996\\u9009\\u7597\\u6cd5\\uff0c\\u5176\\u54a8\\u8be2\\u6548\\u679c\\u66f4\\u597d\\uff0c\\u7597\\u7a0b\\u66f4\\u77ed\\uff0c\\u4e5f\\u80fd\\u4e3a\\u60a8\\u8282\\u7ea6\\u65f6\\u95f4.\"\n" +
               "    },\n" +
               "    {\n" +
               "        \"recipient_id\": \"1\",\n" +
               "        \"text\": \"\\u60a8\\u5bf9CBT\\u662f\\u4e0d\\u662f\\u6709\\u4e86\\u521d\\u6b65\\u7684\\u4e86\\u89e3\\u5462\\uff1f\"\n" +
               "    }\n" +
               "]";
        //Json的解析类对象
        JsonParser parser = new JsonParser();
        //将JSON的String 转成一个JsonArray对象
        JsonArray jsonArray = parser.parse(strByJson).getAsJsonArray();
        Gson gson = new Gson();
        ArrayList<Rasa> rasas= new ArrayList<>();
        //加强for循环遍历JsonArray
        for (JsonElement user : jsonArray) {
            //使用GSON,直接转成Bean对象
            Rasa rasa = gson.fromJson(user, Rasa.class);
            rasas.add(rasa);
        }
        StringBuilder message = new StringBuilder();
        String  sender =  "";
        for (int i = 0; i < rasas.size(); i++) {
            sender = rasas.get(i).getRecipient_id();
            if(i==rasas.size() - 1){
                message.append(rasas.get(i).getText());
            }else {
                message.append(rasas.get(i).getText());
                message.append("/n");
            }
        }
        List<Map<String,String>> res = new ArrayList<>();
        Map<String,String> map = new HashMap<>();
        map.put("sender", sender);
        map.put("message", message.toString());
        res.add(map);
        System.out.println(res);

package io.littlewatter.service;

import lombok.Data;

@Data
public class Rasa {
    private  String recipient_id;
    private  String text;

    @Override
    public String toString() {
        return "rasa{" +
                "recipient_id='" + recipient_id + '\'' +
                ", text='" + text + '\'' +
                '}';
    }
}

输出:

[
{sender=1, message=您好,我是CBT心理咨询助手小苏,非常高兴能为您服务。/n小苏将应用CBT疗法为您提供咨询服务,CBT又称为认知行为疗法,对于多数心理问题,它是首选疗法,其咨询效果更好,疗程更短,也能为您节约时间./n您对CBT是不是有了初步的了解呢?}
]

举报

相关推荐

0 条评论