java解析js数组_java读取json文本及jsonArray的使用

对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文件里其实只有两类对象JSONArray和JSONObject,只不过进行了简单的嵌套。

最外面的中括号包着的这个整体可以看作成一个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);

}

运行结果

db40be375ae3b8d30dc1bbcf1ca05f75.png

注意到

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

希望与广大网友互动??

点此进行留言吧!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值