关于fastjson读取json文件的信息

本文目录一览:

fastJson解析json对象

response回来的json如下

想拿到user_id,用fastJson来解析

user_id在user_list中,user_list在result中,result是一个json对象,user_list是一个array,利用fastJson将传回来的response解析成一个类对象

checkBody类

复杂json怎么使用fastjson一次性提取出来

JSON数据之使用Fastjson进行解析(一)

据说FastJson是目前最快的解析Json数据的库,而且是国人开发出来的开源库。顶一下,付上官方网址:h/code.alibabatech.com/wiki/pages/viewpage.action?pageId=2424946

要使用Fastjson,首先需要下载相对应的jar文件,在官网即可下载。

附上初学的第一个例子,多多指教:

复制代码

{

“statuses”:[

{

“id”: 912345678901,

“text”: “How do I stream JSON in Java?”,

“geo”: null,

“user”: {

“name”: “json_newb”,

“followers_count”: 41

}

},

{

“id”: 777777777888,

“text”: “dfngsdnglnsldfnsl”,

“geo”: null,

“user”: {

“name”: “dsfgpd”,

“followers_count”: 24

}

}

]

}

复制代码

AllBean的Bean类:

复制代码

package com.lee.JsonToBean;

public class AllBean {

private long id;

private String text;

private String geo;

private UserBean userBean;

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

public String getText() {

return text;

}

public void setText(String text) {

this.text = text;

}

public String getGeo() {

return geo;

}

public void setGeo(String geo) {

this.geo = geo;

}

public UserBean getUserBean() {

return userBean;

}

public void setUserBean(UserBean userBean) {

this.userBean = userBean;

}

}

复制代码

UserBean的Bean类:

复制代码

package com.lee.JsonToBean;

public class UserBean {

private String name;

private int followers_count;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getFollowers_count() {

return followers_count;

}

public void setFollowers_count(int followers_count) {

this.followers_count = followers_count;

}

}

复制代码

解析类JsonBean:

复制代码

package com.lee.JsonToBean;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.List;

import javax.swing.text.BadLocationException;

import javax.swing.text.DefaultStyledDocument;

import javax.swing.text.rtf.RTFEditorKit;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

/**

* {

“statuses”:[

{

“id”: 912345678901,

“text”: “How do I stream JSON in Java?”,

“geo”: null,

“user”: {

“name”: “json_newb”,

“followers_count”: 41

}

},

{

“id”: 777777777888,

“text”: “dfngsdnglnsldfnsl”,

“geo”: null,

“user”: {

“name”: “dsfgpd”,

“followers_count”: 24

}

}

]

}

* */

public class JsonBean {

RTFEditorKit rtf;

DefaultStyledDocument dsd;

String text;

public static void main(String[] args) {

JsonBean bean = new JsonBean();

// 把字符串转为Json对象,这是因为我的json数据首先是json对象

JSONObject jobj = JSON.parseObject(bean.readRtf(new File(“json.rtf”)));

// 然后是jsonArray,可以根据我的json数据知道

JSONArray arr = jobj.getJSONArray(“statuses”);

// 根据Bean类的到每一个json数组的项

ListAllBean listBeans = JSON.parseArray(arr.toString(), AllBean.class);

// 遍历

for(AllBean bean_ : listBeans){

// 我这个demo的json数据获得第一层的数据

System.out.println(bean_.getText());

System.out.println(bean_.getId());

// 我这个demo的json数据获得第二层的数据

System.out.println(bean_.getUserBean().getFollowers_count());

}

}

// 因为我把json数据放进rtf文件,这是读取rtf文件的json数据,转化为字符串

public String readRtf(File in) {

rtf=new RTFEditorKit();

dsd=new DefaultStyledDocument();

try {

rtf.read(new FileInputStream(in), dsd, 0);

text = new String(dsd.getText(0, dsd.getLength()));

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (BadLocationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return text;

}

}

fastjson如何读写json文件

publicstaticfinalTTparseObject(Stringtext,ClassTclazz);//把 JSON 文本 parse 为 JavaBean

publicstaticfinalJSONArrayparseArray(Stringtext);//把 JSON 文本 parse 成 JSONArray

publicstaticfinalTListTparseArray(Stringtext,ClassTclazz);//把 JSON 文本 parse 成 JavaBean 集合

publicstaticfinalStringtoJSONString(Objectobject);//将 JavaBean 序列化为 JSON 文本

publicstaticfinalStringtoJSONString(Objectobject,booleanprettyFormat);//将 JavaBean 序列化为带格式的 JSON 文本

publicstaticfinalObjecttoJSON(ObjectjavaObject);将 JavaBean 转换为 JSONObject 或者 JSONArray 。

在网上搜的api,你可以动手试试,总在fastJSON很好很强大!

fastjson怎么解析像“

1. fastjson生成和解析json数据

(举例:4种常用类型:JavaBean,ListJavaBean,ListString,ListMapString,Object)

2.通过一个android程序测试fastjson的用法。

fastjson简介:

Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全支持son.org的标准,也是官方网站收录的参考实现之一。支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。支持JDK 5、JDK 6、Android、阿里云手机等环境。

一. fastjson生成json字符串(JavaBean,ListJavaBean,ListString,ListMapString,Object)

String jsonStrng = JSON.toJSONString(object);

二. fastjson 解析json字符串为四种类型

1. JavaBean

Person person = JSON.parseObject(jsonString, Person.class);

2. ListJavaBean

ListPerson listPerson =JSON.parseArray(jsonString, Person.class);

3. ListString

ListString listString = JSON.parseArray(jsonString, String.class);

4. ListMapString,Object

ListMapString, Object listMap = JSON.parseObject(jsonString, new TypeReferenceListMapString,Object(){}); (注意:此处可看出fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果 为 id =1001.0

FastJson和Json以及@ResponseBody

@Restcontroller是@Controller和@ResponseBody的结合体,将后台返回的Java对象转换为Json字符串传递给前台。它是springmvc通过配置MappingJackson2HttpMessageConverter实现的,spring默认带的转json包为jackson,因为fastJson比较快一般会引入fastjson来替换。

解决bean与json字段不一致问题,或者字段定义不符合前端所需要的标准,需要使用@JsonProperty和@JSONField注解。

@jsonProperty是Jackson的包,@JSONproperty这个注解用于属性上面

而@jsonfield是fastjson的包,@JSONField这个注解可以用于get、set以及属性上面@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)是时间的格式化,可以用于get、set以及属性上面

FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。FastJson的API十分简洁,FastJson重要的类为JSONObject,经常调用的方法如下:

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray

public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject

public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean

public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray

public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合

public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本

public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

Jackson相对来说比较高效的Json类库,在项目中主要使用Jackson进行JSON和Java对象转换,Jackson ObjectMapper类是使用Jackson解析JSON最简单的方法。可以从字符串、流或文件解析JSON,并创建Java对象或对象图来表示已解析的JSON。将JSON解析为Java对象也称为从JSON反序列化Java对象

1.JAVA对象转JSON

ObjectMapper mapper = new ObjectMapper();

String bjectMapper = mapper.writeValueAsString(obj);

2.JSON转Java类[JSON反序列化]

ObjectMapper mapper = new ObjectMapper();

HashMapString, Object inMap = mapper.readValue(jsonStr, HashMap.class);

原创文章,作者:BTVI2,如若转载,请注明出处:https://www.506064.com/n/127560.html

相关推荐

  • 关于java类作为list时的信息

    本文目录一览: 1、用java创建一个称为List的类,它能存储任何类型的对象,并可以在任何时候增加或删除对象 2、java类作为list时 怎么将数据加入到list中? 3、ja…

    编程 2024-10-04
  • mysql导入文件数据(数据库文件导入mysql)

    本文目录一览: 1、如何导入MySQL数据库? 2、如何在MySQL数据库中导入excel文件内的数据 3、怎么把mysql数据库文件夹导入 4、如何把TXT文件数据导入MySQL…

    编程 2024-12-31
  • 如何以Python判断文件是否存在

    在Python开发过程中,判断文件是否存在是一个常见的需求。Python提供了os模块和pathlib模块来帮助我们完成这个任务。 一、使用os模块判断文件是否存在 os模块是Py…

    编程 2024-11-15
  • php命令行查看扩展信息的简单介绍

    本文目录一览: 1、怎么查看php是否扩展shh2 2、查看php中被载入的扩展 3、linux查看php安装了哪些扩展 怎么查看php是否扩展shh2 先下载一个东西,然后2. …

    编程 2024-12-12
  • java监控,java监控文件夹新增文件

    本文目录一览: 1、Java 如何监控文件目录的变化 2、java远程监控连不上 3、如何监控java cpu使用率 4、Java监控一个进程的执行状态 Java 如何监控文件目录…

    编程 2024-12-28
  • Linux diff命令:查找文件差异并显示差异内容

    一、什么是Linux diff命令 Linux diff命令用于比较两个文件的不同之处。它会逐行比较两个文本文件,并在不同之处显示不同之处的详细信息。diff命令最常用于软件代码之…

    编程 2024-11-26
  • Java运行class文件详解

    一、从cmd运行class文件 Java程序的启动方式之一是将class文件通过命令行方式运行,具体步骤如下: 1. 打开命令行窗口,进入class文件所在的目录 2. 输入jav…

    编程 2024-12-12
  • 使用scandir函数进行文件目录的遍历

    在Web开发中,文件操作是一个非常常见的需求。而使用PHP可以很方便地操作文件系统,其中,scandir()函数是一种用于遍历文件目录的强大工具。下面将从多个方面介绍如何使用sca…

    编程 2024-11-18
  • mysql数据文件目录(mysql数据库目录)

    本文目录一览: 1、mysql如何查看自己数据库文件所在的位置 2、Mysql 数据库文件存储在哪个目录 3、mysql如何修改数据库目录 4、MYSQL数据库文件在哪个目录 my…

    编程 2024-12-24
  • Json代码详解

    Json(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据的传递和存储。在本篇文章中,我们将从多个方面对Json代码进行详细的阐述…

    编程 2024-11-18