基于JSON的数据交换(json格式的字符串拼接)

在WEB前端中,如何将一个json格式的字符串转换成json对象

var jsonStr = "{\"username\" : \"zhangsan\", \"password\" : \"1233344\"}"
var jsonObj = JSON.parse(jsonStr)
console.log(jsonObj.username)
console.log(jsonObj.password)

在后端拼接JSON格式的字符串,响应给前端的浏览器

json.append("[");
while (rs.next()) {
    // 获取每个学生的信息
    String name = rs.getString("name");
    String age = rs.getString("age");
    String addr = rs.getString("addr");
    // 拼接json格式的字符串
    // {"name":"   王五    ","age":    20      ,"addr":"      北京大兴区     "},
    json.append("{\"name\":\"");
    json.append(name);
    json.append("\",\"age\":");
    json.append(age);
    json.append(",\"addr\":\"");
    json.append(addr);
    json.append("\"},");
}
jsonStr = json.substring(0, json.length() - 1) + "]";

拼接JSON格式的字符串太痛苦,可以使用阿里巴巴的fastjson组件,它可以将java对象转换成json格式的字符串

List<Student> studentList = new ArrayList<>();
while (rs.next()) {
    // 取出数据
    String name = rs.getString("name");
    int age = rs.getInt("age");
    String addr = rs.getString("addr");
    // 将以上数据封装成Student对象
    Student s = new Student(name, age, addr);
    // 将Student对象放到List集合
    studentList.add(s);
}
// 将List集合转换成json字符串
jsonStr = JSON.toJSONString(studentList);

对于fastjson组件的最基本的使用

public class FastjsonTest {
    public static void main(String[] args) {
        // 创建一个User类型的对象
        User user = new User("111", "zhangsan", 20);

        // 将以上的User对象转换成json格式的字符串
        // 使用阿里巴巴的fastjson组件中的JSON类即可。
        // fastjson中又一个类,叫做:JSON。全部大写。
        // JSON类中的方法都是静态的方法,直接调用即可。
        String jsonStr = JSON.toJSONString(user);

        System.out.println(jsonStr);

        // 尝试List集合是否可以转换成数组
        List<User> userList = new ArrayList<>();
        User user1 = new User("120", "lisi", 30);
        User user2 = new User("130", "jackson", 33);
        userList.add(user1);
        userList.add(user2);

        String jsonStr2 = JSON.toJSONString(userList);

        System.out.println(jsonStr2);
    }
}

 注意:使用fastjson需要引入fastjson-1.2.2.jar

链接:https://pan.baidu.com/s/1jHcUWHXHxTSva_mMTEdsOQ 
提取码:AJ66

需要的可以提取一下

扫码提取也行,看那个方便吧

 

 以上均是观看老杜视频所记录的笔记,如果还有没解决的问题就去B站看一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值