fastjson对json字符串JSONObject和JSONArray互相转换操作示例

 fastjson的方法:

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在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 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。

2017-03-25

直接上代码:

package com.tapt.instance;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; public class Jsontest {
public static void main(String[] args) {
String json="{\"name\":\"刘德华\",\"age\":35,\"some\":[{\"k1\":\"v1\",\"k2\":\"v2\"},{\"k3\":\"v3\",\"k4\":\"v4\"}]}";
JSONObject jso=JSON.parseObject(json);//json字符串转换成jsonobject对象
System.out.println("初始jsonObject:\n"+jso+"\n");
JSONArray jsarr=jso.getJSONArray("some");//jsonobject对象取得some对应的jsonarray数组
System.out.println("jsonObject里面的jsonarray:\n"+jsarr+"\n");
JSONObject ao=jsarr.getJSONObject(0);//jsonarray对象通过getjsonobjext(index)方法取得数组里面的jsonobject对象
System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject:\n"+ao+"\n");
String vString=ao.getString("k1");//jsonobject对象通过key直接取得String的值
System.out.println("jsonObject里面的jsonarray里面的第一个jsonobject里的键值对对k1取值:\n"+vString+"\n");
}
}

控制台输出:

初始jsonObject:
{"age":35,"name":"刘德华","some":[{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]}

jsonObject里面的jsonarray:
[{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]

jsonObject里面的jsonarray里面的第一个jsonobject:
{"k1":"v1","k2":"v2"}

jsonObject里面的jsonarray里面的第一个jsonobject里的键值对对k1取值:
v1

ps:要遍历jsonarray对象,可以通过size()方法取得jsonarray的长度,jsonarray.getJSONObject(index)取得里面JSONObject对象;如:

for(int index=0;index<jsonarray.size(),index++){}

最新文章

  1. 对前端的一个H5项目的所思所想
  2. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
  3. jquery easyui tabs单击刷新右键刷新
  4. 根据复选框checkbox的选中状态来打开或关闭隐藏层
  5. Thinking in Java——笔记(8)
  6. php大力力 [044节] PHP的POST语句一定要大写!!if(!empty($_POST[&#39;id&#39;])) {
  7. CodeForces 12C Fruits
  8. bat文件编写(无线承载网络设置)
  9. javascript将浮点数转换成整数的三个方法
  10. nginx去掉单个目录和多个目录PHP执行权限方法
  11. hadoop2集群中的datanode启动以后自动关闭的问题
  12. ToggleButton --------- 按钮实现开关效果
  13. SVNKIT操作SVN版本库的完整例子
  14. 《Head First Python》学习笔记03 异常处理
  15. python变量字符拼接
  16. i++是否原子操作?并解释为什么?
  17. android开发(3):列表listview的实现 | 下拉刷新
  18. 使用expect解决shell交互问题
  19. Android仿苹果版QQ下拉刷新实现(二) ——贝塞尔曲线开发&quot;鼻涕&quot;下拉粘连效果
  20. 锁机制(Lock) 信号量机制(Semaphore) 事件机制(Event)

热门文章

  1. Leecode刷题之旅-C语言/python-70爬楼梯
  2. Windows10 快捷键
  3. Python3 函数参数
  4. PHP.40-TP框架商城应用实例-后台15-商品属性与库存量1-不同商品(唯一属性、可选属性),属性类型
  5. CSS3实现3D球体旋转动画
  6. Hibernate-ORM:11.Hibernate中的关联查询
  7. 四大IO抽象类
  8. iOS-合成图片(长图)
  9. 【廖雪峰老师python教程】——模块
  10. React开发时候注意点