java中与JSON相关应用
依赖包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
字符串转为json
String msg = "{"cmd":"domainRestrictType","sandbox":"DefaultBox","domainRestrictList":[{"domainRestrictList":["192.138.3.168:1111"],"domainRestrictType":"black"}]}";
//转化
JSONObject jsonObject = JSON.parseObject(msg);
//取值
String cmd = jsonObject.getString("cmd");
java对象转为json
//对象
User user= new User();
user.setId(1);
user.setName("lhs");
user.setPass("aaa");
//转化
String aaaJson = json.toJSONString(user);
字符串转json串字段顺序自定义
@Data
//该注解为自定义顺序,在order里面配置
@JSONType(orders = {"cmd","sandbox","domainRestrictionList"})
public class SandboxAccessRestrictionDTO {
private String cmd;
private String sandbox;
private List<accessRestriction> domainRestrictList;
@Data
@JSONType(orders = {"domainRestrictionType","domainRestrictionList"})
public static class accessRestriction {
private String domainRestrictType;
private List<String> domainRestrictList;
}
}
// 在哪里调用这个java对象转json,newjson对象的时候,参数中加个true
JSONObject json = new JSONObject(true);