`

JSONOBJ 转换对象

 
阅读更多

import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.Date;

import net.sf.json.JSONObject;


public class JsonToObject {
public static void main(String[] args) throws Exception {
 
 JSONObject obj = new JSONObject();
 obj.put("id", 1);
 obj.put("name","zx");
 obj.put("date",new Date());
 obj.put("size",10);
 obj.put("sum",20.5);
 JsonToObject  j = new JsonToObject();

//net.jsf.json 包JSONobjct 自带的
 Object bean = JSONObject.toBean(obj, Student.class);
 

//自己封装的jsonObj转换 pojo
// j.fromJsonToJava(obj, Student.class,"yyyy-MM-dd HH:mm:ss");
 
}

private Object fromJsonToJava(JSONObject json,Class pojo,String dateFormat) throws Exception{
           // 首先得到pojo所定义的字段
           Field [] fields = pojo.getDeclaredFields();
           // 根据传入的Class动态生成pojo对象
           Object obj = pojo.newInstance();
           for(Field field: fields){
               // 设置字段可访问(必须,否则报错)
               field.setAccessible(true);
              // 得到字段的属性名
              String name = field.getName();
              // 这一段的作用是如果字段在JSONObject中不存在会抛出异常,如果出异常,则跳过。
              try{
                      json.get(name);
              }catch(Exception ex){
                  continue;
              }
              if(json.get(name) != null && !"".equals(json.getString(name))){
                  // 根据字段的类型将值转化为相应的类型,并设置到生成的对象中。
                  if(field.getType().equals(Long.class) || field.getType().equals(long.class)){
                      field.set(obj, Long.parseLong(json.getString(name)));
                  }else if(field.getType().equals(String.class)){
                      field.set(obj, json.getString(name));
                  } else if(field.getType().equals(Double.class) || field.getType().equals(double.class)){
                      field.set(obj, Double.parseDouble(json.getString(name)));
                  } else if(field.getType().equals(Integer.class) || field.getType().equals(int.class)){
                      field.set(obj, Integer.parseInt(json.getString(name)));
                  } else if(field.getType().equals(java.util.Date.class)){
                   SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
                      field.set(obj, sdf.parse(json.getString(name)));
                  }else{
                     continue;
                  }
              }
          }
          return obj;
      }
}

 

分享到:
评论

相关推荐

    javascript中JSON对象与JSON字符串相互转换实例

    本文实例讲述了javascript中JSON对象与JSON字符串相互转换实现方法。分享给大家供大家参考。具体如下: [removed] // 根据JSON对象的属性的名称获取属性的值 var jsonObj = { name: "jxqlovejava" }; // JSON对象 ...

    Json对象与Json字符串互转(4种转换方式)

    1>jQuery插件支持的转换方式: 代码如下: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以... //可以将json对象转换成json对符串 注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引

    Flex数据转换包

    最小、最快的Flex转换JSON的工具包 private function init():void { var simpleJSON:String = "{\"name\":\"wayne\",\"value\":1000.0}"; var jObj:Object = JParser.decode(simpleJSON); } ====...

    js操作json

    JavaScript 操作 JSON ...JavaScript 提供了多种方法来操作 JSON 数据,包括将 JSON 对象转换为字符串、将字符串转换为 JSON 对象、遍历 JSON 数据等。了解 JSON 的基本概念和操作方法对于 Web 开发是非常重要的。

    把普通对象转换成json格式的对象的简单实例

    var jsonObj = {“name”: “中国”, “age”: 5000};//->JSON格式的对象 (只要把普通对象的属性名用””(不能是”)包起来,这样的格式就是我们JSON格式的对象) var data = [ {name: “”, age: “”}, {name: “”,...

    java使用jsonObj所需libs

    java使用jsonObjection所需libs有: commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15.jar ...

    json对象与javabean相互转化

    json对象与javabean相互转化 JSONObject jsonObj=JSONObject.fromObject(s);//将字符串转化为json对象 //写数据库处理 ObjBean bean=(ObjBean)JSONObject.toBean(jsonObj,ObjBean.class); ObjBean bean=new ...

    Json字符串转换为JS对象的高效方法实例

    一般JSON字符串转换为JS对象,都使用var jsonStr="{a:1}";var jsonObj = eval("("+jsonStr+")");

    jsonZipper:一个用于压缩和压低json对象JavaScript库

    杰森·拉链作者:杰拉德·拉穆斯(Gerard Lamusse) 说明:用JavaScript编写的json对象压缩器和解压缩器原因:对于多个非均质的相似重复对象如何:创建键的映射数组以及可选的包含值。 如果您仍然想保留对象的概念,...

    SafeKVObject:一个安全的键值对象处理器

    安全KV对象 一个安全的键值对象处理器 要求 ARC、iOS 6.0+ 或 MacOSX 10.8+ 用法 # import " SKVObject.h " NSString *jsonString = @" { \" k \" : \" v \" } " ; // create from json string SKVObject *jsonObj...

    JS操作json对象key、value的常用方法分析

    本文实例讲述了JS操作json对象key、value的常用方法。分享给大家供大家参考,...var jsonObj = { "创维电视" : 50, "卡萨帝北京" : 40, "家电" : 40, "松下" : 30, "格力" : 20, "海尔" : 20, "海尔商城" : 20,

    xml-conv-json:使用C ++将XML转换为JSON的节点模块

    使用C ++将XML转换为JSON的节点模块 它只是 C ++库的包装 优点是使用C ++处理XML并将其作为JSON返回,而不是使用Node进行如此繁琐的操作。 安装 node-gyp将需要全局安装。 您可以使用安装 npm install -g node-gyp...

    在Javascript操作JSON对象,增加 删除 修改的简单实现

    在Javascript操作JSON对象,增加删除修改全有的,详情见代码 [removed] var jsonObj2 = { teacher: [ { name: "jordan", sex: "m", age: "40" }, { name: "bryant", sex: "m", age: "28" }, { name: "McGrady",...

    JAVA访问网址获取JSON数据需要的架包

    //将字符串转化成json对象 JSONArray jsonArray = jsonobj.getJSONArray("data");//获取数组 List< PubUnit> pubUnits = new ArrayList(); for (int i = 0; i (); i++) { PubUnit pubUnit = new PubUnit(); ...

    jsonobject所需jar包整合

    包含Java开发时jsonobject所需jar包,亲测可用,大家放心下载

    pt2json

    将它们转换为JSON对象可轻松编辑值并将其保存回原始文件格式。 使用范例 如何使用 安装 npm i pt2json 导入模块 const { pt2json , json2pt } = require ( "pt2json" ) ; 将纯文本转换为JSON pt2json ( "key value...

    json2typescript:使用安全的类型检查将JSON转换为TypeScript!

    json2typescript 在Angular应用程序中,每个人都从外部来源使用JSON API。 类型检查和对象映射只能在TypeScript中进行,而不能在JavaScript运行时中进行。...let jsonObj : object = JSON . parse ( jsonStr )

    org.json.jar和测试例子

    org.json.jar和测试例子,在java代码中将字符串转换成json用到的jar包, JSONObject jsonObj = new JSONObject(path); System.out.println(jsonObj.getString("PROJECT_ID"));

    JAVA Cookie JSON 项目中应用

    //设置cookies function setCookie(name, value, expires, path, ...* json对象转字符串形式 */ function json2String(jsonObj) /** * json字符串转json对象 */ var jsonObj = eval('('+jsonStr+')') 后台Java解析json

    java解析json

    jsonObj = JSONObject.fromObject(jsonString); } catch (Exception ex) { ex.printStackTrace(); } return JSONObject.toBean(jsonObj, cla); } public static Object jsonToBean(String jsonString...

Global site tag (gtag.js) - Google Analytics