JAVA解析JSON的例子

简介:
 

 public String  searchUserStatusHis() throws BusinessException{
  
  
  System.out.println("------->:this  action  is  searchUserStatusHis");
  if(logger.isDebugEnabled()){
   logger.debug(" searchUserStatusHis: " );
  }
  
//  locator = new NewCustomerServerImplServiceLocator();
//  locator.setCustomServerEndpointAddress(wsdlUrl);
  
  UserSerachResult    userScRstl =new  UserSerachResult();
   
//  try {
//   userScRstl =stub.getUserHis(getMobileNo(), getBizCode(), getStTime(),getEnTime() );
//   
//  } catch (RemoteException e) {
//   e.printStackTrace();
//  }
  
  //模拟userScRstl的数据
  
//  String mobileNo2="13911726546";
  String recNum2="2";
  String ophisJSON="[{'opTime':'20090901','bizCode':'1','bizName':'速配交友1','opType':'1','reqWay':'1','retcd':'1','fetionId':'1'},{'opTime':'20090902','bizCode':'2','bizName':'速配交友2','opType':'2','reqWay':'web','retcd':'00','fetionId':'147857754'},{'opTime':'20090903','bizCode':'03','bizName':'速配交友333','opType':'06','reqWay':'19','retcd':'01','fetionId':'1480000'}]";
  System.out.println("------getMobileNo------>"+getMobileNo());
  
  userScRstl.setMobileNo(this.getMobileNo());//手机号码
  userScRstl.setRecNum(recNum2);//记录数量
  userScRstl.setOphis(ophisJSON);//操作的所有记录,串组对象,有recNum组
  
  this.getRequest().setAttribute("userScRstl", userScRstl); 
  
/*
 * 以上模拟数据正常
 *
 * 以下解析 ophisJSON,并把解析后的值 set到 对象userOpHis---》userOpHisList
 *
 * */
  
  List<UserOperateHis> userOpHisList =new ArrayList<UserOperateHis>();
  

           //解析这个JSON:,多个对象string值,循环set到对象userOpHis里--放到list,前台JSP遍历;

//  String jsonString="[{'opTime':'20090901','bizCode':'1','bizName':'速配交友1','opType':'1','reqWay':'1','retcd':'1','fetionId':'1'},{'opTime':'20090902','bizCode':'1','bizName':'速配交友2','opType':'1','reqWay':'1','retcd':'1','fetionId':'1'}]";
  
  JSONArray jarrs = null;

  try {
   jarrs = new JSONArray(ophisJSON);
  } catch (ParseException e) {
   e.printStackTrace();
  }  //把串放入JSON数组
//  System.out.println("--jarrs.getJSONObject(0)----->"+jarrs.getJSONObject(0));//把串转换成JSON格式
  

  for(int i=0;i<jarrs.length();i++){  
   
  String s=String.valueOf(jarrs.getJSONObject(i));// 把JSON按对象 分组(成串)--->JSONObject(s);
//  System.out.println("==jarrs.getJSONObject(i)=把JSON串按对象分组=="+s);
  
  JSONObject jObj = null;
   try {
    jObj = new JSONObject(s);//把json对象串放入JSON对象
   } catch (ParseException e) {
    e.printStackTrace();
   }

//把每个JSON串按对象转换成Obj
//  JSONArray  jName = jObj.names(); // 拿到所有  的JSON属性名字
//  System.out.println("---jObj.names()JSON属性名-->"+jObj.names());//拿到所有的JSON属性名
  
//  String recNum2B="3";
//  
//  int  recNum22 =Integer.valueOf(recNum2B);
  
//  for(int t=0;t<recNum22-1;t++){
//  String propertyNames=(String)jName.get(t); // 拿到每个  属性名字 ;并 转换成串
  
//  Object value = jObj.get("bizName");//根据JSON属性名 拿值
//  System.out.println("----根据JSON属性名拿值---->"+propertyNames+"="+value);
  
  UserOperateHis userOpHis =new UserOperateHis();
  
  //set 对象的次数=jarrs.length()
  
     userOpHis.setBizName( jObj.get("bizName").toString() );//json对象根据属性名拿值
     userOpHis.setOprcode( jObj.get("opType").toString() );
     userOpHis.setOprtime(jObj.get("opTime").toString() );
     userOpHis.setRslt( jObj.get("retcd").toString() );
     userOpHis.setSid( jObj.get("bizCode").toString() );
     userOpHis.setSource(jObj.get("fetionId").toString() );
     userOpHis.setSpservid(jObj.get("reqWay").toString() );
    
     System.out.println("-- userScRstl 的ophis  JSON串解析到值后 set 到 userOpHis(JSP取属性)--->--bizName : "+jObj.get("bizName").toString() );
    
     userOpHisList.add( userOpHis );
    
  }
//  }
  
  this.getRequest().setAttribute("userOpHisList", userOpHisList ); 
  
  
  
            return "userScRslt";
 }

相关文章
|
8天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
25 8
|
24天前
|
JSON JavaScript 前端开发
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
C++ 智能指针与 JSON 处理:高级编程技巧与常见问题解析
255 0
|
6天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
10 0
|
6天前
|
安全 Java 编译器
接口之美,内部之妙:深入解析Java的接口与内部类
接口之美,内部之妙:深入解析Java的接口与内部类
25 0
接口之美,内部之妙:深入解析Java的接口与内部类
|
10天前
|
XML JSON JavaScript
Java中XML和JSON的比较与应用指南
本文对比了Java中XML和JSON的使用,XML以自我描述性和可扩展性著称,适合结构复杂、需验证的场景,但语法冗长。JSON结构简洁,适用于轻量级数据交换,但不支持命名空间。在Java中,处理XML可使用DOM、SAX解析器或XPath,而JSON可借助GSON、Jackson库。根据需求选择合适格式,注意安全、性能和可读性。
23 0
|
16天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
24天前
|
JSON JavaScript 数据格式
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
【深入探究C++ JSON库】解析JSON元素的层级管理与遍历手段
79 2
|
6月前
|
JSON Java Maven
|
存储 JSON 前端开发
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?(2)
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?
269 0
|
机器学习/深度学习 JSON Java
Java数据解析之JSON
Java数据解析之JSON文章大纲一、JSON介绍二、常见框架介绍与实战三、Studio中GsonFormat插件使用四、项目源码下载(含参考资料)五、参考文档 一、JSON介绍 简介  JSON 的全称是 JavaScript Object Notation,是一种轻量级的数据交换格 式。
2332 0

推荐镜像

更多