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;
}
}
相关推荐
本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...
本篇文章将深入探讨如何利用jQuery从JSON对象转换为form提交数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和...
JSON 转换是指将 JSON 数据与其他数据格式之间的相互转换,包括将 JSON 字符串转换为 JavaScript 对象、将 JavaScript 对象转换为 JSON 字符串等。 将 JavaScript 对象转换为 JSON 字符串 在将 JavaScript 对象...
在这个例子中,`ToJSON`方法将Delphi对象转换为JSON对象,`ToString`则将JSON对象转换为字符串,最后保存到文件中。注意,对象需要实现`IMarshaller`接口才能直接调用`ToJSON`方法,否则你需要手动遍历对象的属性并...
使用`aspjson`库,可以创建并填充ASP对象,然后将其转换为JSON字符串输出。例如: ```vbscript Dim jsonObj, arr Set jsonObj = New ASPJSON Set arr = jsonObj.CreateObject("Array") arr.Add "Item1" arr....
例如,有一个普通格式的对象var obj={name:"中国",age:5000},转换为JSON格式的对象则是var jsonObj={"name":"中国","age":5000}。在转换过程中,属性名必须用双引号包围起来。 在处理数据格式转换时,还需要注意...
本篇文章将详细介绍如何在JavaScript中进行JSON对象与JSON字符串之间的相互转换。 ### JSON对象 JSON对象是JavaScript中的一个对象,其属性名必须用双引号括起来,属性值可以是字符串、数字、布尔值、null、数组或...
它支持解析JSON字符串到JSON对象,以及将JSON对象转换回字符串。在Delphi中,你可以通过导入lkJSON库,然后调用其提供的方法来操作JSON数据。 要将数据集转换为JSON,通常需要以下步骤: 1. 初始化lkJSON库:在你...
接着,我们使用`JSON.stringify()`方法将JSON对象转换为字符串。这在需要存储或发送JSON数据时非常有用。例如,将`students`对象转换为字符串并打印: ```javascript students = JSON.stringify(students); console...
- Gson是一个轻量级的Java库,可以轻松地将Java对象转换为JSON格式,并将JSON字符串反序列化为Java对象。 2. **使用Jackson库**: - Jackson是一个非常强大的Java库,用于处理JSON数据。它支持流式API,可以高效...
3. **转换为字符串**:最后,使用`ToString`方法将JSON对象转换为字符串形式。 ```delphi JSONString := JSONObj.ToString; ``` **注意事项** - SuperObject支持嵌套的JSON结构,这意味着你可以创建包含对象和数...
JavaScript 操作 JSON ...JavaScript 提供了多种方法来操作 JSON 数据,包括将 JSON 对象转换为字符串、将字符串转换为 JSON 对象、遍历 JSON 数据等。了解 JSON 的基本概念和操作方法对于 Web 开发是非常重要的。
// 将JSONObj转换为字符串 ShowMessage(JSONObj.AStr); end; ``` SuperObject还支持嵌套的JSON对象和数组,以及各种数据类型,包括整数、浮点数、布尔值、日期/时间以及null。此外,它还提供了递归解析和创建复杂...
- `JSON.stringify(jsonobj)`:相反地,此方法可以将JavaScript对象转换为JSON字符串。这对于存储或发送数据非常有用,因为数据将以文本形式传输。 在IE8的兼容模式及更早版本中,没有内置的JSON支持。因此,为了...
通过使用SuperObject,开发者可以方便地将JSON字符串转换为Delphi的对象结构,同时也可以将对象转换回JSON字符串。 首先,让我们了解如何在Delphi项目中集成SuperObject。在描述中提到了两个关键文件:`superobject...
这样,你可以通过索引或属性访问 JSON 对象的成员,如 `JSONObj['name']` 或 `JSONObj['age']`。 2. **JSON 生成**: 要生成 JSON 字符串,可以创建一个 `OSuperObject` 实例,并添加属性和值。以下示例展示了...
创建了一个User对象并设置了属性,然后使用`JSONObject.fromObject(u)`将其转换为JSON对象。这样,User对象的属性被映射到JSON键值对中。 4. Java Map转换为JSON: 在实例4中,创建了一个HashMap,并添加了一些键值...
将 JSON 对象转换回字符串: ```delphi JSONStr := JSONObj.AsJSon; ``` 5. **遍历 JSON**: 遍历 JSON 对象的数组或对象属性: ```delphi for I := 0 to JSONObj.AsArray.Length - 1 do begin Item := ...
下面将详细介绍从JSON字符串到对象的转换,以及如何遍历这个对象的键值对。 ### JSON字符串转为JSON对象 在转换之前,我们首先需要有一个JSON格式的字符串。例如: ```javascript var jsonString = '{"firstName...