工作学习----json数据处理

最近在工作中有个小需求:给一段json字符串形如下

{

    "stream": "false",

    "messeage": [

        {

            "role": "user",

            "content": "this is question"

        },

        {

            "role": "assitant",

            "content": "this is anser"

        },

        {

            "role": "user",

            "content": "需要添加的内容"

        }

    ],

    "model": "kimi"

}

我需要在字符串的最后一个content中添加我的内容。

尽管这是一段字符串但是实际上还是符合json规则的,因此可以通过解析转换成json对象进行操作。考虑到仅仅只是一个数据的处理过程,我决定写一个工具类jsutils用于读取这个字符串并且将想加入的内容加入。

        对于json数据的处理有许多的方法这里我用的是阿里的fastJson

public class JSUTIL {
    static String path  = "your path";

    public static JSONObject parse(String json) throws IOException {
        //定义一个输入流
        BufferedReader br = new BufferedReader(new FileReader(path));
        //读取文件内容
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = br.readLine())!=null){
            sb.append(line);
        }
        br.close();
        String jsonStr = sb.toString();
        //得到json对象
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        //这里由于是需要在字符数组中加入内容因此需要得到数组对象
        JSONArray jsonArray = jsonObject.getJSONArray("message");
        //得到数组中第三个对象并且是赋值
        jsonArray.getJSONObject(2).put("content",json);
        return jsonObject;
    }
}

这样就成功在指定地方赋值

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值