第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

JSON的一些理解

標(biāo)簽:
Android

今天看了代码,发现解析json数据的时候用的是最原始的解析,好久都没有用这种解析了,都忘的差不多了,现在做个笔记来分享一下json解析的两种方法

(1)、原始解析方式

(2)、FastJson

一、json的概念:

json是一种轻量级的数据交换格式,服务器传过来的数据一般都是json数据。可以才不同平台上进行数据交换。

json可以将Java对象转成json格式的字符串,也可以讲json字符串转换成java。它比xml更轻量级。


二、json类:

(1)、JsonObject:

可以看作是json对象,是一对(key/value)值。例如:{"json":"hello json"},格式:最外面是大括号,里面的key和value被冒号(:)分开。

添加:new JSONObject().put{"json":"hello json"};其中value的类型有:Boolean、JSONArray、JSONObject、Number、String、JSONObject.NULL object

(2)、JsonArray

代表一组有序的数值。例如:[name1,name2,name3],格式:用方括号包裹,数值间用逗号(,)分隔

查找:可以用get(下标)和opt(下标)两种方法;添加:put()方法。类型同JsonObject:

(3)、JsonStringer:

json文本构建类

(4)、JsonTokener:

json解析类

(5)、JsonException:

json中用到的异常

三、json实例:

(1)、Object实例:

"people":{"name":"zhangsan",

  "sex":"女".

  "age":"23"

},

"people":{"name":"lisi",

  "sex":"男".

  "age":"23"

}

(1)、Array实例:

[

{

"zhangsan":"100",

"lisi":"80",

"wangwu":"90",

},

{

"xiaoming":"20",

"xiaohong":"40",

"xiaohua":"30",

}

]

四、json解析

(1)、解析Object

String str={"name":"zhangsan"};

JSONObject json=new JSONObject(str);

log.i("json",json.getString("name"));

(2)、解析Array

String str={"number":[1,2,3]};

JSONObject json=new JSONObject(str);

JSONArray number=json.getJSONArray("number");

for(int i=0;i<number.length;i++){

log.i("json",number.getInt(i)+"");

}

五、FastJson是阿里巴巴工程师开发的一个json处理工具包,包括“序列化”和“反序列化”两部分。支持Java Bean、集合、Map、日期等等

fastjson的最主要的使用入口是com.alibaba.fastjson.JSON

	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> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean	public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray	public static final <T> List<T> parseArray(String text, Class<T> 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
	具体不多说,直接放案例

	核心部分:
		我用的最多的是json2object(),方法别的没有怎么用过

	package com.example.jsontoobject;
	import java.sql.Date;
	import java.util.ArrayList;
	import com.alibaba.fastjson.JSON;
	import com.alibaba.fastjson.serializer.SerializeConfig;
	import com.alibaba.fastjson.serializer.SerializerFeature;
	import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
	/**
 	* json转化工具类 默认处理时间
 	*/
	public class FastJsonUtil {
		private static SerializeConfig mapping=new SerializeConfig();
	
		/**
		 * Object转化成json
	 	*/
		public static <T> T json2object(String jsonText,Class<T> clazz){
			return (T) JSON.parseObject(jsonText, clazz);
		}
	
		public static ArrayList json2list(String jsonText,Class clazz){
			ArrayList list=new ArrayList();
			try {
				list=(ArrayList) JSON.parseArray(jsonText, clazz);
			} catch (Exception e) {
				// TODO: handle exception
			}
			return list;
		}
	
		/**
		 * Object转化成json
		 */
		public static String object2json(Object jsonText){
			return JSON.toJSONString(jsonText, SerializerFeature.WriteDateUseDateFormat);
		}
	
		/**
	 	* Object转化成json 自定义时间格式
	 	*/
		public static String object2json(String dateFormat, Object jsonText){
			mapping.put(Date.class, new SimpleDateFormatSerializer(dateFormat));
			return JSON.toJSONString(jsonText, mapping);
		}
}

原文链接:http://www.apkbus.com/blog-495932-60789.html

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消