本文目录一览:
有关restful 怎么把json对象直接映射成java对象
利用一些jar包对json解析即可。这里推荐两个:
1、fastjson,阿里巴巴开源的json解析包。
使用方便,速度较快,下面的代码可以很快的解析JSON得到Java对象:
1
JSONObject jo = JSONObject.parseObject(json);
2、jackson,国外开源的json解析包,也很流行。
其最大的特点是支持流模式的JSON数据解析,这样在解析较大的json数据时很有优势。
JsonToken result = null;
int i = 1;
while ((result = p.nextToken()) != null) {
System.out.println("[" + i++ + "]" + result); // 根据result类型进行处理
}
JAVA中json转对象
JSONObject.fromString(value) instanceof Object
所有对象都能转Object肯定不会走else if。 你把下边else if 去掉else 能转MAP就会走下边了吧。。自己理解不一定对
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对象映射成JavaBean
要么你自己写的利用反射把JSON对象映射到JavaBean,要么你用Struts框架,导入json那些jar包,配置好。前台发送到后台的对象,会自动映射到action类事先声明的对象里。网上可能有自动反射JSON对象映射到Javabean的jar包你可以找一下,我以前自己直接写映射的,没找到过。