首页 > 编程知识 正文

从json生成java实体类,java根据json生成实体类

时间:2023-12-27 22:27:25 阅读:326067 作者:YEKZ

本文目录一览:

求Xstream把这段json解析并生成java实体的代码

import java.util.ArrayList;

import java.util.List;

public class ResData {

private String retCode;

private String retMessage;

private List rows;

public String getRetCode() {

return retCode;

}

public void setRetCode(String retCode) {

this.retCode = retCode;

}

public String getRetMessage() {

return retMessage;

}

public void setRetMessage(String retMessage) {

this.retMessage = retMessage;

}

public List getRows() {

return rows;

}

public void setRows(List rows) {

this.rows = rows;

}

public void addRow(Row row) {

if(this.rows==null)

this.rows = new ArrayList();

this.rows.add(row);

}

}

public class Row {

private String name;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

import java.util.Iterator;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class JsonTest {

public static void main(String[] args) throws Exception {

String s = "{"ResData":{"retCode":"007","retMessage":"Over","rows":" +

"[{"name":33,"age":44},{"name":"ls","age":22}]}}";

JSONObject jo = JSONObject.fromObject(s);// 格式化成json对象

ResData res = new ResData();

String resData = jo.getString("ResData");

JSONObject resjo = JSONObject.fromObject(resData);

res.setRetCode(resjo.getString("retCode"));

res.setRetMessage(resjo.getString("retMessage"));

String rows = resjo.getString("rows");

JSONArray rowsja = JSONArray.fromObject(rows);

Iterator it = rowsja.iterator();

while(it.hasNext()){

JSONObject rowjo = (JSONObject)it.next();

Row row = new Row();

row.setAge(rowjo.getInt("age"));

row.setName(rowjo.getString("name"));

res.addRow(row);

}

System.out.println(res);

}

}

怎样把JSON对象快速的转成java对象

1、使用原生的解析:

String json = "...";

JSONArray array= new JSONArray(json);

//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:

for (int j = 0; j array.length(); j++) {

obj = array.getJSONObject(j);

Data data = new Data();

data.setThumbnail(obj.getString("thumbnail"));

data.setTitle(obj.getString("title"));

data.setUrl(obj.getString("url"));

mDataList.add(data);

}

2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z

有没有将json直接转换生成Java类的工具软件

使用Jackson可以将json转为Java对象,同样也可以将java对象转为json字符串,并且Spring框架内部也是使用的此jar。

实例:将json转为java对象

/*

    下面的id,name,age同是User实体类的属性

*/

// 将json转为Java对象

String json = "{"id":1,"name":"张三","age":18}";

ObjectMapper mapper = new ObjectMapper();

User user = mapper.readValue(json, User.class);、

// 将json转为Java数组对象

String json = "[{"id":1,"name":"张三","age":18},{"id":2,"name":"李四","age":18},{"id":3,"name":"王五","age":18}]";

ObjectMapper mapper = new ObjectMapper();

User[] users = mapper.readValue(json, User[].class);

如何从JSON数据创建Java类

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。

Json建构于两种结构:

1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如:

{

“name”:”jackson”,

“age”:100

}

2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:

{

“students”:

[

{“name”:”jackson”,“age”:100},

{“name”:”michael”,”age”:51}

]

}

补充:json是做交换格式,查询效率非常低,如果做存储的检索格式就误用了。

就是说“聊天信息的保存用json应该可以吧”还不如你之前的mysql数据库。

json用在客户端往服务端发送的通讯交换数据的格式上。服务端收到后转为数据库中或内存中存放。

如何根据json格式生成java bean对象

1利用:json-lib-2.2.3-jdk13.jar2使用方法举例:JSONObject.fromObject(bean).toString()--返回{"aa":"xx","bb":"xxx"}(bean为java对象,有aa和bb两个字段,值分别为xx和xxx)JSONObject.fromObject(map).toString()--返回{"aa":"xx"

json数组转java对象怎么转

有两种方法实现:

(1)直接转换:

创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:

//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。

ArrayListPerson persons = new ArrayListPerson();

for (int i = 0; i 3; i++) {

persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合

}

JSONArray array = new JSONArray();// Json格式的数组形式

JSONObject obj;//json格式的单个对象形式

for (int i = 0; i persons.size(); i++) {

obj = new JSONObject();

//依次填充每一个Java实体对象

try {

obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充

obj.put("sex", persons.get(i).getSex());

obj.put("married", persons.get(i).getMarried());

obj.put("address", persons.get(i).getAddress());

array.put(obj);//将JSONObject添加入JSONArray

} catch (JSONException e) {

e.printStackTrace();

}

}

(2)通过GSON工具实现:

只需要创建GSON对象,通过toJson方法转换即可。如例:

//模拟Java数据

Person person = new Person("敏敏", 23, "女", "北京市海淀区");

//创建GSON对象

Gson gson = new Gson();

//调用toJson方法即可转换为字符串的json格式

String json = gson.toJson(person);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。