fastjson常用方法
fastjson是一个快速、灵活的JSON解析库,它支持Java语言。下面列举一些常用的fastjson方法以供参考。
1. JSON字符串转Java对象
使用fastjson,可以将JSON字符串转换为Java对象。使用toJavaObject()方法进行转换。例如:
```
String jsonStr = '{'name':'jerry', 'age':20}';
User user = JSON.parseObject(jsonStr, User.class);
```
2. Java对象转JSON字符串
使用fastjson,可以将Java对象转换为JSON字符串。使用toJSONString()方法进行转换。例如:
```
User user = new User('jerry', 20);
String jsonStr = JSONString(user);
```
3. 解析嵌套JSON
使用fastjson,可以解析嵌套的JSON。例如:
```
String jsonStr = '{'name':'jerry', 'age':20, 'address':{'city':'beijing', 'street':'tiananmen'}}';
JSONObject jsonObject = JSON.parseObject(jsonStr);
JSONObject addressJson = JSONObject('address');
String city = String('city'); // beijing
```
4. 解析JSON数组
使用fastjson,可以解析JSON数组。例如:
```
String jsonStr = '[{'name':'jerry', 'age':20}, {'name':'tom', 'age':30}]';
JSONArray jsonArray = JSON.parseArray(jsonStr);
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject(i);
String name = String('name');
int age = Integer('age');
}
```
5. 自定义序列化和反序列化
使用fastjson,可以自定义序列化和反序列化。例如:
```
public class DateSerializer implements ObjectSerializer {
public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
Date date = (Date) object;
serializer.Time() / 1000);
}
}
public class DateDeserializer implements ObjectDeserializer {
public Date deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
long time = parser.parseObject(long.class);
return new Date(time * 1000);
}
public int getFastMatchToken() {
return JSONToken.LITERAL_INT;
}
}
SerializeConfig config = new SerializeConfig();
config.put(Date.class, new DateSerializer());
ParserConfig parserConfig = new ParserConfig();
parserConfig.putDeserializer(Date.class, new DateDeserializer());
User user = new User('jerry', 20, new Date());
String jsonStr = JSONString(user, config);
User user2 = JSON.parseObject(jsonStr, User.class, parserConfig);
```
上述代码中,我们自定义了一个DateSerializer和DateDeserializer类,并使用put()方法将它们注册到了SerializeConfig和ParserConfig中。然后,我们将这些配置传递给了JSONString()和JSON.parseObject()方法,从而实现了自定义序列化和反序列化。
fastjson怎么用
以上就是fastjson的一些常用方法,fastjson还有很多其他的功能和API,可以根据实际需求进行使用。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论