本文目录一览:
- 1、求Xstream把这段json解析并生成java实体的代码
- 2、怎样把JSON对象快速的转成java对象
- 3、有没有将json直接转换生成Java类的工具软件
- 4、如何从JSON数据创建Java类
- 5、如何根据json格式生成java bean对象
- 6、json数组转java对象怎么转
求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);