java对象转json(Java对象转Json)

野性酷女 2023-10-11 18:50 221阅读 0赞

java有没有什么框架能把java对象转为json字符串

就目前来看,Google的GSON组件不错。至少我在开发中来看,是目前最棒的,而且支持 JDK5 的泛型。

User 用户类:

public class User {

@Expose

private Long id;

@Expose

private String name;

public Long getId() {

return id;

public void setId(Long id) {

this.id = id;

public String getName() {

return name;

public void setName(String name) {

this.name = name;

// 测试 JavaBean 的转换

public class Test {

public static void main(String[] args) {

User user = new User();

user.setId(1001L);

user.setName(“张三”);

GsonBuilder builder = new GsonBuilder();

// 不转换没有 @Expose 注解的字段

builder.excludeFieldsWithoutExposeAnnotation();

Gson gson = builder.create();

String sUser = gson.toJson(user);

System.out.println(sUser);

// {“id”:1001,”name”:”张三”}

// 将JSON字符串转换为 JavaBean

User user2 = gson.fromJson(sUser, User.class);

System.out.println(user2.getId() + “, “ + user2.getName());

// 1001, 张三

}

// 测试 HashMap 的转换

public class MapTest {

public static void main(String[] args) {

User user1 = new User();

user1.setId(1001L);

user1.setName(“张三”);

User user2 = new User();

user2.setId(1002L);

user2.setName(“李四”);

Map userMap = new HashMap();

userMap.put(“user1”, user1);

userMap.put(“user2”, user2);

GsonBuilder builder = new GsonBuilder();

// 不转换没有 @Expose 注解的字段

builder.excludeFieldsWithoutExposeAnnotation();

Gson gson = builder.create();

String sUserMap = gson.toJson(user, new TypeToken>(){}.getType());

System.out.println(sUserMap);

// {“user1”:{“id”:1001,”name”:”张三”},”user2”:{“id”:1002,”name”:”李四”}}

// 将JSON字符串转换为 HashMap

Map userMap2 = (Map)gson.fromJson(sUser, new TypeToken>(){}.getType());

System.out.println(userMap2.get(“user1”).getName());

// 张三

}

当然 GSON的JSON解析设置还不止这些,还有版本的注解、更改字段名称的注解等等。

上面给的网址上有具体的开发文档,和详细的例子。

如今 GSON 已被很多公司所采用,方便快捷。Google就是比较强大。展开全部

只是要求转化成字符串的话,可以试试..重写toString方法

@Override

public String toString(){

return “{id:”+this.id+”,”name=’”+this.name+”‘“};

}展开全部

看看展开全部

导个json.lib包就可以了呗。也可以自己写。不过,有现成的包。直接用。private valuefilter filter = new valuefilter() {

@override

public object process(object obj, string s, object v) {

if(v==null)

return “”;

return v;

json.tojsonstring(jsonmap, filter)展开全部

这很简单拉 这种小框架可以自己些嘛.

java对象转json

如何将Java对象转换成json格式,如何将json格式数据转换成js对象

开始看网上关于json的例子程序段,实验了一把发现结果和网上例子程序的结果不一致,后来发现使用json需要导入的jar包不全,只导入json-lib-2.2.2-jdk15.jar ,还需以下几个包:commons-beanutils-1.7.0.jar

commons-collections-3.2.jar

commons-lang.jar

commons-logging-1.1.jar

ezmorph-1.0.4.jar

这时在测试得到了想要的结果

Question q2 = new Question();

q2.setId(2);

q2.setDescription(“descrsssss”);

q2.setPointInfo(“pointkkkk”);

q2.setType(3);

Question q1 = new Question();

q1.setId(1);

q1.setDescription(“descrsssss”);

q1.setPointInfo(“pointkkkk”);

q1.setType(3);

JSONObject jsonObject = new JSONObject().fromObject(q2);

System.out.println(jsonObject);

List list = new ArrayList();

list.add(q1);

list.add(q2);

JSONArray jsonArr= JSONArray.fromObject(list);

System.out.println(jsonArr);

输出:{“description”:”descrsssss”,”id”:2,”pointInfo”:”pointkkkk”,”type”:3}

[{“description”:”descrsssss”,”id”:1,”pointInfo”:”pointkkkk”,”type”:3},{“description”:”descrsssss”,”id”:2,”pointInfo”:”pointkkkk”,”type”:3}]页面

$.post(“showQuestions?type=”+type,null,callbackShowQuestions,”json”);

这时在回调函数的参数data获得的就是json转换后的js对象数组,

以下标方式便可访问数组里的相应对象信息。

发表评论

表情:
评论列表 (有 0 条评论,221人围观)

还没有评论,来说两句吧...

相关阅读

    相关 json对象java对象

    项目里需要把json对象转换成java对象,还挺费劲的搜了搜,于是自己记下来,以后方便使用。 第一种方法,使用 JSON-lib 。 第二种方法,使用 JACKSON。