Json常用代码
FastJson依赖包:
<!-- fastjson依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
示例Bean
先创建Person类,如下:
public class Person {
private int age;
private String fullName;
@JSONField(format="yyyy-MM-dd hh:mm:ss")
private Date dateOfBirth;
// 忽略 getters & setters
}
Java 对象转换
Java 对象转换为 JSON字符串
JSON.toJSONString() 将 Java 对象(或集合)转换换为 JSON字符串。
假设person为Java对象,则如下:
String jsonStr= JSON.toJSONString( person);
List等集合转换为JSON字符串,也可以用 JSON.toJSONString.
Java 对象 转 JSONObject:
JSONObject json = (JSONObject) JSONObject.toJSON(person);
JSONObject 转换
JSONObject 转换成 JSON字符串
JSONObject json = new JSONObject();
//忽略json的取值过程
String jsonStr = json.toString();
JSONObject 转换成 Java对象
JSONObject json = new JSONObject();
json.put("age", 1);
Person person = JSON.parseObject(json.toJSONString(), Person.class);
JSON 字符串转换
JSON 字符串转换成Java对象。
parseObject 方法可以将 JSON 字符串转换成Java对象。
假设JSON字符串为jsonStr,如下:
Person newPerson = JSON.parseObject( jsonStr, Person.class);
JSON 字符串转换成JSONObject对象
JSONObject paramJson= JSON.parseObject(jsonStr);
list转JSON字符串:
map转JSON字符串也可以用。
String jsonStr = JSON.toJSONString(list);
JSON字符串转list:
List<String> strList = JSON.parseObject(jsonStr, new TypeReference<List<String>>() {});
if (strList == null ) {
strList = new ArrayList<>();
}
JSON字符串转map:
Map<String, Integer> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Integer>>() {});
JSON字符串转泛型对象:
其他的泛型对象,类似于JSON字符串转map,都可以采用以下的TypeReference泛型进行转换。
List<Person> resultList = JSON.parseObject(jsonStr, new TypeReference<List<Person>>() {});
java对象的字段指定json字段名称
@JSONField用在java对象的变量上面,这里的name表示的是转换后的JSON字段。
@JSONField(name = "FULL NAME")
private String fullName;
java对象的Date变量转换成Json并格式化
@JSONField(format="yyyy-MM-dd hh:mm:ss")
private Date dateOfBirth;
@JSONField用在java对象的变量上面,这里的name表示的是转换后的JSON字段,格式则用format处理。
如果项目中使用的是jackSon,就用
@JsonProperty(value = "DATE OF BIRTH")
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private Date dateOfBirth;
JSONObject获取元素的值
- JSONObject获取字符串:
String fullName = json.getString("fullName");
- JSONObject获取整型:
int age = json.getInt("age");
JSONObject移除元素
可以用remove()方法移除JSONObject的某个键值。
public static void main(String[] args) {
String str="{\"buyerTaxNo\": \"440301999999980\",\"errorIds\": \"123\"}";
JSONObject jsonObject= JSON.parseObject(str);
jsonObject.remove("errorIds");
System.out.println(jsonObject);
}
JSONArray
JSONArray转化为List
JSONArray格式如下:
{
"clientList": [ "数组元素1","数组元素2" ]
}
解析代码如下:
String clientIdJson=orderJson.getString("clientList");
List<String> clientIdList= JSONArray.parseArray(clientIdJson,String.class);
List转化为JSONArray:
JSONArray jsonArray =JSON.parseArray(JSON.toJSONString(list));
遍历JSONArray
for(int i=0;i<jsonArray.size();i++){
JSONObject jsonobject=jsonArray.getJSONObject(i);
}
参考资料:
分类:
A1-java代码块积累
标签:
json
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2018-04-20 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener