Json-json的创建、获取、json与java的转换

本文详细介绍了JSON的基本概念、语法以及定义和获取JSON数据的方法。内容包括JSON的三种定义方式,如何通过点运算符和数组下标获取JSON值,以及如何使用for...in循环遍历JSON对象。此外,还探讨了JSON与其他类型如字符串、JavaBean、List和Map之间的转换,展示了使用Gson库进行转换的示例代码。
摘要由CSDN通过智能技术生成

1、json简介

json:全称是JavaScript Object Notation(JavaScript 对象表示法)。就是把javascript的数据封装成对象的形式,方便我们对数据的存取。

2、json语法

  • json定义格式:var json = {键:‘值’,键:‘值’};
  • 基本语法规则:
    1.json 数据由键值对构成;
    2.多个键值对之间由逗号隔开;
    3.{}里面保存json对象;
    4.[]里面保存数组,数组里面可以是多个json对象。
    5.json值得几种情况:数字,字符串,逻辑值,数组,对象 。

3、Json的定义和获取

1.json的三种定义方式:

  • 第一种:基本格式

    var student = {name:"cx",age:18,address:"上海"};
    alert(student.name);
    
  • 第二种:嵌套格式 一个json对象里面包含多个json对象

     var students = {students:[
             {name:"name001",age:18,address:"city001"},
             {name:"name002",age:18,address:"city002"},
             {name:"name002",age:18,address:"city003"},
         ]};
     alert(students);
    
  • 第三种:嵌套格式 定义一个多个json的对象

    var students1 = [
        {name:"name001",age:18,address:"city001"},
        {name:"name002",age:18,address:"city002"},
        {name:"name002",age:18,address:"city003"},
        ];
    alert(students1.length);
    

2.json的获取
普通获取:

  1. 第一种:json对象.键名

     alert(student.name);
    
  2. 第二种:json对象[“键名”]

    alert(student["address"]);
    
  3. 第三种:json数组[索引]

    alert(students1[0].age);
    

循环遍历:

//获取students里面所有的键和值
//for in循环
for(var key in student){
    alert(key+":"+student[key]);
    //注意获取键值时不能用student.key;因为key是字符串类型的,转换之后就变成了student."key"
}
//遍历数组类型的所有值
for(var i=0 ;i<students1.length;i++){
    var stu = students1[i];
    //先获取每一个数组元素
    for(var key in stu){//在遍历数组元素里面的所有值
        alert(key+":"+stu[key]);
    }
}

4、Json 与其他类型的转换

1. json对像与json字符串的相互转换

    //1.json对象转换json字符串
    var StudentString = JSON.stringify(student);
    alert(StudentString);
    //2.json字符串转换成json对象
    var StudentJson = JSON.parse(StudentString);
    alert(StudentJson.name);

2.java bean对象与json对象的转换

//1.java bean与json的转换
class Json001 {
    public static void main(String[] args) {

        Student stu = new Student("name1",18,"上海");
        //先创建一个gson对象
        Gson gson = new Gson();
        //通过toJson()将json对象转换为字符串
        String stustring = gson.toJson(stu);
        System.out.println(stustring);

        //通过fromJson()将字符串类型转换成Json对象
        Student student = gson.fromJson(stustring, Student.class);

        System.out.println(student);
    }
}

3.json对象于List相互转换

//2.json对象于List相互转换
public class Json002 {
    public static void main(String[] args) {
        List<Student> list = new ArrayList<>();
        Student stu1 = new Student("name1",18,"city1");
        Student stu2 = new Student("name2",18,"city2");
        Student stu3 = new Student("name3",18,"city3");
        list.add(stu1);
        list.add(stu2);
        list.add(stu3);

        Gson gson = new Gson();
        String s = gson.toJson(list);
        System.out.println(s);

        List<Student> json = gson.fromJson(s, new TypeToken<List<Student>>() {}.getType());
        System.out.println(json);
    }
}

4.json对象于Map相互转换

//3.json对象于Map相互转换
public class Json002 {
    public static void main(String[] args) {
        Student stu1 = new Student("name1",18,"city1");
        Student stu2 = new Student("name2",18,"city2");
        Student stu3 = new Student("name3",18,"city3");

        Map<String,Student> map = new HashMap<>();
        map.put("key1",stu1);
        map.put("key2",stu2);
        map.put("key3",stu3);

        Gson gson = new Gson();
        String s = gson.toJson(map);
        System.out.println(s);

        Map<String,Student> json = gson.fromJson(s, new TypeToken<Map<String,Student>>() {}.getType());
        System.out.println(json);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我没得冰阔落.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值