关于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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
BTVI2BTVI2
上一篇 2024-10-03 23:16
下一篇 2024-10-03 23:16

相关推荐

  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29
  • Python合并多个相同表头文件

    对于需要合并多个相同表头文件的情况,我们可以使用Python来实现快速的合并。 一、读取CSV文件 使用Python中的csv库读取CSV文件。 import csv with o…

    编程 2025-04-29
  • Python写文件a

    Python语言是一种功能强大、易于学习、通用并且高级编程语言,它具有许多优点,其中之一就是能够轻松地进行文件操作。文件操作在各种编程中都占有重要的位置,Python作为开发人员常…

    编程 2025-04-29

发表回复

登录后才能评论