FastJson的使用
JSON是什么:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。
JSON用于描述数据结构,有以下形式存在。
- 对象(object):一个对象以“{”开始,并以“}”结束。一个对象包含一系列非排序的名称/值对,每个名称/值对之间使用“,”分区。
- 名称/值(collection):名称和值之间使用“:”隔开,一般的形式是:
{name:value} - 一个名称是一个字符串; 一个值可以是一个字符串,一个数值,一个对象,一个布尔值,一个有序列表,或者一个null值。
- 值的有序列表(Array):一个或者多个值用“,”分区后,使用“[”,“]”括起来就形成了这样的列表,形如:
[collection, collection] - 字符串:以""括起来的一串字符。
- 数值:一系列0-9的数字组合,可以为负数或者小数。还可以用“e”或者“E”表示为指数形式。
- 布尔值:表示为true或者false。在很多语言[哪个/哪些?]中它被解释为数组。
Java对JSON的处理
Java支持对Json的库有:google-gson,FastJson,JackSon等等。我挑选了fastjson来实现java对json的处理。
FastJSON
JSON.parseArray(jsonData, String.class)把JSON数据转换成普通字符串列表JSON.parseObject(jsonData, clazz)把JSON数据转换成指定的java对象JSON.toJSONString(object)把java对象转换成JSON数据JSON.parseArray(jsonData, clazz)把JSON数据转换成指定的java对象列表JSON.parseObject(jsonData, new TypeReference<List<Map<String, Object>>>() { })
把JSON数据转换成较为复杂的java对象列表
{% highlight java %}
package chest.treasure.json.util.fastjson;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import chest.treasure.json.util.fastjson.domain.SysMenu;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
public class FastJsonDemo {
@Test
public void parseString() {
StringBuffer sb = new StringBuffer();
sb.append("[");
sb.append("{");
sb.append("'weixin'").append("😊.append("'simple'").append(",");
sb.append("'qq'").append("😊.append("'123123'").append("");
sb.append("}");
sb.append(",");
sb.append("{");
sb.append("'weixin'").append("😊.append("'pleasures'").append(",");
sb.append("qq").append("😊.append("'123123'").append("");
sb.append("}");
sb.append("]");
String jsonStr = sb.toString();
//转换成jsonArray,能够通过iterator遍历,转换的一定要带有[]其实的json串
JSONArray jarr = JSONArray.parseArray(jsonStr);
for(Iterator

浙公网安备 33010602011771号