首页 > 编程知识 正文

java处理json数据,java中json的使用

时间:2023-05-06 02:50:08 阅读:163672 作者:3165

java分析JSON的方法有很多种,最常用的有三种: JSON公式分析、GSON(Google )、FastJson (蚂蚁)。

GSON解析:

1 .新建项目并引入jar文件。 (可在GitHub上下载: https://search.maven.org/artifact/com.Google.code.gson/gson ) ) :

首先,在项目中创建新的文件夹lib,并将该jar文件复制到lib下。

然后单击file-projectstructrue-libraries-- Java -选择-ok-ok:

这样就被引入了。 让我们看看可以在左侧的gson上展开。

可以直接转换为对象类型。

Gson对象Gson gs=new Gson (创建; //json与类对象直接相互转换//类对象songssong=newsongs('Jay ','7','7',6666 ); //将对象设置为JSONstringjs=GS.toJSON(Song ); system.out.println(js; 以json字符串为目标的string jss=' {' singer' :' Jay', ' album' :'7- elevent',' name' 335292; system.out.println (new song.tostring ) ); 仅获取json各项的值//{'singer':'Jay ',' Album':',' name':',' Views':6666,' hare 11-eleven, ' views' 3360 system.out.println (hjs.get (' singer ' ) ); Arraylistas=(Arraylist ) hjs.get ) ) Haha ); system.out.println(as.get(1) ); listss=(list ) hjs.get ) ) Haha ); system.out.println(ss.get(0) ); 其他方法暂且不做总结,具体请参考https://www.Jian Shu.com/p/558844 c96fc 1

FastJson解析:

还可以与对象相互转换。

//FastJson:对象JSON strings=JSON.tojsonstring (song ); system.out.println(s; //Json转弯对象{'singer':'Jay ',' Album':',' name':',' views ' 33606666 } songs songs system.out.println (songs.getname ); //转换数组((我的地盘)、(园游会)、(搁浅) ) liststringstrings=JSON.parse array ) ((((() () ) )、) )、我的地盘其他方法不作概括,请参阅https://blog.csdn.net/weixin _ 33782386/article/details/88015470

JSON官方的解析:

1 .新建项目并引入jar文件(可从GitHub下载: https://github.com/ST Leary/JSON-Java ) :

可以分析包含数组的每个key的值,但不能直接将其转换为对象。 必须手动创建。

//JSON官方分析String json1='{'id':0,'name':'JAVAEE-1703', ' stus' 3365284; [ {' ]

","age":16}]}";//1.获取json对象(可以是字符串、Map、Bean等方式构建)JSONObject jso=new JSONObject(json1);//获取值int id=jso.getInt("id");System.out.println("id:"+id);//int idd=jso.optInt("id");//System.out.println("idd:"+idd);String name=jso.getString("name");System.out.println("id:"+id+",name:"+name+',');//获取数组JSONArray ja=jso.getJSONArray("stus");//这里注意JSONArray中JSON是大写哦,阿里的也是大写,谷歌的是Json//解析数组,获取值for (int i=0;i<ja.length();i++){ //该数组为json对象数组 JSONObject js1=ja.getJSONObject(i); //获取值 int id1=js1.getInt("id"); String name1=js1.getString("name"); int age1=js1.getInt("age"); System.out.println("id1:"+id1+",name1:"+name1+",age1:"+age1);}

其他方法参考:

1.JSON对象创建 1.1 JSON对象 核心JSON对象表类名用途描述JSONObject从String或者JSONTokener构建键/值对集合类对象(类比JAVA的Map), 并提供对象操作、序列化方法。JSONArray从String或者JSONTokener构建有序列表对象(类比JAVA的List), 并提供对象操作、序列化方法。输入型辅助类类名用途描述JSONTokener从Reader、String、InputStream读取数据,辅助构建JSON核心对象HTTPTokener继承JSONTokener,从Reader、String、InputStream读取HTTP头,辅助构建JSON 核心对象XMLTokener继承JSONTokener,从Reader、String、InputStream读取XML文件,辅助构建JSON 核心对象构建操作类类名用途描述JSONWriter用于以代码方式创建JSON对象JSONStringer继承JSONWriter,提供了JOSN对象转JSON文本的toString方法JSONPointer使用表达式匹配、操作JSON对象转换工具类类名用途描述CDLJSON与CDL之间的转换HTTPJSON与HTTP报文头之间的转换CookieJSON与Cookie之间的转化CookieListJSON与Cookie之间的转化XMLJSON与XML之间的转化JSONMLJSON与JSONML之间的转化1.2 JSON对象创建 JSONObject构建构造方式说明JSONObject()创建一个空的JSONObject,可以通过JSONObject提供的方法操作该对象JSONObject(String source)使用String创建JSONObject(String baseName, Locale locale)使用ResourceBundle创建JSONObject(JSONObject jo, String[] names)从JSONObject中指定属性子集,生成新的JSONObject对象JSONObject(JSONTokener x)借助JSONTokener,从InputStream、Reader、String中创建JSONObject(Map<?, ?> m)使用Map创建JSONObject(Object bean)使用Bean创建JSONObject(Object object, String[] names)使用Bean并指定属性子集创建,注意保证需要的属性为public,详见常见问题JSONObject.wrap(Object object))使用static方法,自动根据传入的JAVA 对象类型创建JSONObject或者JSONArrayJSONArray构建构造方式说明JSONArray()创建一个空的JSONArray,可以通过JSONArray提供的方法操作该对象JSONArray(JSONTokener x)借助JSONTokener,从InputStream、Reader、String中创建JSONArray(String source)使用String创建JSONArray(Collection<?> collection)使用Collection创建JSONArray(Object array)使用数组创建JSONObject.wrap(Object object))使用static方法,自动根据传入的JAVA 对象类型创建JSONObject或者JSONArray1.3 JSON对象操作 对象方法JSONObjectaccumulate、append、put、get、opt、remove、query、quoteJSONArrayput、get、opt、remove、query、join@JSONPropertyIgnore、JSONPropertyName忽略属性、更改属性输出的key名称2.构建JSON文本 方式说明JSONObject、JSONArray构建核心对象后使用toString、write方法JSONWriter、JSONStringer使用JSONWriter、JSONStringer创建JSON文本

 参考文献:https://blog.csdn.net/chc2327439008/article/details/104051317

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。