博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON的使用小结
阅读量:5341 次
发布时间:2019-06-15

本文共 3246 字,大约阅读时间需要 10 分钟。

  JSON中存储的是key:value,其实在编程的时候我们会遇到很多都是key:value的形式。比如:map,java对象(一个对象的一个属性只会有一个值),数据库中key:value对应着里面存储的一个数据,redis的本质就是key:value。所以你会发现key:value很有用。

1.将任何形式的内容转换成key:value形式的字符串(观察输出),比如json文件。

{    "name": "Tom",    "age" : 12,    "book":{"1":"Math","2":"Chinese","3":"English"},    "interest" : ["football","basketball"],    "student" : {"name" :"Tom","age":22,"book":"String"}     }

到网上搜一下,有很多人都写了将.json文件转换成字符串的方式,再转换成JSONObject。目前只找到GSON,直接输入json文件的位置,直接输出一个类似于JSONObject的东西(还没仔细研究),其他的方法还没有找到。

2.将string转换成JSONObject。

package json;import java.awt.List;import java.util.ArrayList;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;public class TestJson {    public static void main(String[] args) {        //将JSON文件读取成字符串形式,目前还没有找到哪个好的方法直接转,网上都可以搜到。        //GSON可以直接装,但是GSON的包跟这里的包又不一样                Util fr = new Util();        String str = fr.ReadFile("src/json1.json");        //看看把json文件读取成字符串的形式。        System.out.println(str.toString());        //将字符串转换成JSONObject。通过JSONObject可以获取任何东西。        //还可以遍历        JSONObject student1 = JSON.parseObject(str);                String name = (String) student1.get("name");        //获取的是字符串。        String book = student1.getString("book");        //可以将string变成JSONObject        JSONObject bookJson = JSON.parseObject(book);                System.out.println(book);        //这里获取的是JSONObject        JSONObject bookObj = student1.getJSONObject("book");        String b1 = bookObj.getString("1");        String b2 = bookObj.getString("2");        String b3 = bookObj.getString("3");        System.out.println(b1+","+b2+","+b3);                String interest = student1.getString("interest");                JSONArray interestArr = student1.getJSONArray("interest");                String arr1 = interestArr.getString(0);        String arr2 = interestArr.getString(1);        System.out.println(arr1+","+arr2);        //通过映射的方式。直接获得。        JSONArray inArr = student1.getObject("interest", JSONArray.class);                //如果value值是一个对象,可以直接映射成一个对象。        Student stu = student1.getObject("student", Student.class);                System.out.println(name);                    System.out.println(interest);        System.out.println(stu.toString());            }}
package json;import java.util.List;public class Student {        public Student() {            }    public Student(String name, Integer age, String book) {        this.name = name;        this.age = age;        this.book = book;                }        public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String getBook() {        return book;    }    public void setBook(String book) {        this.book = book;    }    private String name;    private Integer age;    private String book;        @Override    public String toString() {        return "Student [name=" + name + ", age=" + age + ", book=" + book                 + "]";    }    }

问题:如果对象Student中包含有List<String> interest,怎么映射呢?对应的json中value是什么样式呢?如果您有相关的地址欢迎留言学习。

 

转载于:https://www.cnblogs.com/boywwj/p/6886465.html

你可能感兴趣的文章
java中遍历属性字段及值(常见方法)
查看>>
YUI3自动加载树实现
查看>>
like tp
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
Django之Models
查看>>
Linux 的 date 日期的使用
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>