首页 > 编程知识 正文

json解析到java对象,java如何解析json

时间:2024-03-07 18:23:22 阅读:331792 作者:OEJY

本文目录一览:

怎么将json对象转换成一个java对象

public static void jsonStrToJava(){

//定义两种不同格式的字符串

String objectStr="{"name":"JSON","age":"24","address":"北京市西城区"}";

String arrayStr="[{"name":"JSON","age":"24","address":"北京市西城区"}]";

//1、使用JSONObject

JSONObject jsonObject=JSONObject.fromObject(objectStr);

Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);

//2、使用JSONArray

JSONArray jsonArray=JSONArray.fromObject(arrayStr);

//获得jsonArray的第一个元素

Object o=jsonArray.get(0);

JSONObject jsonObject2=JSONObject.fromObject(o);

Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);

System.out.println("stu:"+stu);

System.out.println("stu2:"+stu2);

}

json格式的字符串转换为java对象

先来解释反斜杠干嘛用的:

你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.

假如我有个json对象:

{

     "message" :   "success"

}

那么问题来了,怎么把它放到一个String字符串对象里呢?

那么我们都会这么做:

String json = "{"message":"success"}";

对吧?但是这么做对吗?前面说过了,字符串是引号开始,引号结尾的,再看一眼这么做对吗?

所以我们需要转义字符去将引号放入字符串当中,而不是字符串定义的功能。“  " ”就是表示将双引号放入字符串中。

2. json字符串转java对象

下面以ali的fastjson为例,讲解json字符串转json对象:

String jsonStr = "{"message" : "success"}";

JSONObject jsonObject = JSON.parseObject(jsonStr);

String message = jsonObject.getString("message");

System.out.println(message);

假如你有想要转换成的bean :

public class Info {

    private String message;

    public String getMessage() {

        return message;

    }

    public void setMessage(String message) {

        this.message = message;

    }

}

就可以这样:

String jsonStr = "{"message" : "success"}";

Info info = JSON.parseObject(jsonStr, Info.class);

System.out.println(info.getMessage());

这里的fastjson只是处理json的框架中的一个,此外还有jackson、Gson等等,可以根据自己的需求选择一个就可以了。

json数组转java对象怎么转

json-lib,注册对象的class,,,,,,然后解析 jsonObject

import java.util.Map;

import net.sf.json.JSONObject;

public class JsonLib {

@SuppressWarnings("unchecked")

public static void main(String[] args) {

/**

* 将 JSON 对象转换(解析)为 Map

*/

String str = "{"name":"Tom","age":90}";

JSONObject jsonObject = JSONObject.emfromObject/em(str);

MapString, Object map = (MapString, Object) JSONObject.emtoBean/em(jsonObject, Map.class);

System.out.println(map);

// {age=90, name=Tom}

/**

* 将 JSON对象转换(解析)为 JavaBean

*/

str = "{"id":"A001","name":"Jack"}";

jsonObject = JSONObject.fromObject(str);

System.out.println(jsonObject); //JSONObject类型:{age=90, name=Tom}

Person person = (Person) JSONObject.toBean(jsonObject, Person.class);

System.out.println(person); //Person [id=A001, name=Jack]

}

}

~

~

~

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