欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java读取json文本及jsonArray的使用

程序员文章站 2022-07-10 17:54:27
java里如何使用json(菜鸟初体验)对json的简单认知json的文件读取及jsonArray的使用如何在intelliji里使用json对json的简单认知下面的json语言特点是摘自廖雪峰的官方网站哈哈继续安利。JSON作为数据传输的格式,有几个显著的优点:JSON只允许使用UTF-8编码,不存在编码问题;JSON只允许使用双引号作为key,特殊字符用\转义,格式简单;浏览器内置JSON支持,如果把数据用JSON发送给浏览器,可以用JavaScript直接处理。因此,JSON适合表示...

对json的简单认知

下面的json语言特点是摘自廖雪峰的官方网站
哈哈继续安利。
JSON作为数据传输的格式,有几个显著的优点:

JSON只允许使用UTF-8编码,不存在编码问题;
JSON只允许使用双引号作为key,特殊字符用\转义,格式简单;
浏览器内置JSON支持,如果把数据用JSON发送给浏览器,可以用JavaScript直接处理。
因此,JSON适合表示层次结构,因为它格式简单,仅支持以下几种数据类型:

键值对:{“key”: value}
数组:[1, 2, 3]
字符串:“abc”
数值(整数和浮点数):12.34
布尔值:true或false
空值:null

json的文件读取及jsonArray的使用

[
{
“formmer”: “程序设计”,
“latter”: “汇编语言”,
“grade1”: “4”,
“geade2”: “3”
},
{
“formmer”: “程序设计”,
“latter”: “离散数学”,
“grade1”: “4”,
“geade2”: “3”
},
{
“formmer”: “程序设计”,
“latter”: “数据结构”,
“grade1”: “4”,
“geade2”: “3”
}
]
就拿我最近用到的json文件作例子吧,
这个json文件里其实只有两类对象JSONArrayJSONObject,只不过进行了简单的嵌套。
最外面的中括号包着的这个整体可以看作成一个JSONArray对象,里面的每一个大括号里包的整体都是一个JSONObject对象,就像是一个JSONObject的顺序表一样。没错,JSONArray.getJSONObject[0]就是
{
“formmer”: “程序设计”,
“latter”: “汇编语言”,
“grade1”: “4”,
“geade2”: “3”
},

 public static void main(String args[]) {
        System.out.println(getJson());//getJson()是将json文件转换成字符串的定义方法。
        JSONArray getJsonArray=JSON.parseArray(getJson());//接受一个json字符串初始化成JSONArray实例
        JSONObject obj=getJsonArray.getJSONObject(0);//JSONArray的第一个元素
        String obj2=obj.getString("formmer");//重点来了!!!
        int a=obj.getIntValue("grade1");
        System.out.println(obj2+": "+a);
    }


运行结果java读取json文本及jsonArray的使用
注意到
obj2=obj.getString(“formmer”)
每一个JSONObject对象都是由一组或多组键值对组成的。比如在这里"formmer"、“grade1”就是键(注意带引号),而对应的“程序设计”和3就是它们的值。
看到这里之后推荐几篇博客,很感谢这几位博主,看到他们之后才初步搞懂。
JSON的三种解析方式

如何在intelliji里使用json

import java.io.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class main {
    public static String getJson() {
        String jsonStr = "";
        try {
            File file = new File("/Users/robin/IdeaProjects/priorityQueue/src/CurriculumInformation.json");
            FileReader fileReader = new FileReader(file);
            Reader reader = new InputStreamReader(new FileInputStream(file),"Utf-8");
            int ch = 0;
            StringBuffer sb = new StringBuffer();
            while ((ch = reader.read()) != -1) {
                sb.append((char) ch);
            }
            fileReader.close();
            reader.close();
            jsonStr = sb.toString();
            return jsonStr;
        } catch (Exception e) {
            return null;
        }
    }
    public static void main(String args[]) {
        System.out.println(getJson());//getJson()是将json文件转换成字符串的定义方法。
        JSONArray getJsonArray=JSON.parseArray(getJson());//接受一个json字符串初始化成JSONArray实例
        JSONObject obj=getJsonArray.getJSONObject(0);//JSONArray的第一个元素
        String obj2=obj.getString("formmer");//重点来了!!!
        int a=obj.getIntValue("grade1");
        System.out.println(obj2+": "+a);
    }
}

java使用json可以使用maven,也可以不使用,去下载相应的jar文件,笔者就是因为不了解maven怕耽误太多时间,选择fastjson包。如果以后有时间学到maven,笔者也会更新方法的,现在鉴于只是一只菜鸟,还是算了吧!
不通过maven导入fastjson
fastjson的介绍
java读取json二维数组

以下就是笔者昨天的所有收获了,十分青涩,第3篇了!

本文地址:https://blog.csdn.net/Maystyle/article/details/109838156

相关标签: json