Java中Json、String、jsonObject、jsonArray格式之间的互相转换 (Fastjson、Gson、String字符串分隔)

一、Fastion
使用阿里的fastjson


com.alibaba
fastjson
1.2.83

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
1.json格式的字符串 转JSONObject

public static void myJson(String str) {
JSONObject obj = JSON.parseObject(str);

// 测试结果
System.out.println(obj);

}

2.json格式的字符串 转JSONArray

public static void myJson(String str) {
JSONArray array = JSON.parseArray(str);

// 测试结果
for(Object object : array){
    JSONObject obj = (JSONObject)object;
    System.out.println(obj);
}

}

3.json格式的字符串 转JSONObject、JSONArray

public static void myJson(String str) {
JSONObject jsonObj = JSON.parseObject(str);
JSONArray array = JSON.parseArray(jsonObj.getString("name"));

// 测试结果
for(Object object:array){
    JSONObject obj = (JSONObject)object;
    System.out.println(obj);
}

}

4.json格式的字符串 转实体类(javaBean)

// JaveBean
public class Persion {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}

}

public static void myJson(String str) {
Persion persion = JSON.parseObject(str, new TypeReference(){});

// 测试结果
System.out.println("name:" + persion.getName() + " , " + "age:" + persion.getAge());

}

5.map格式 转JSONObject

public static void myJson(String str) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("name","张三");
map.put("age","18");

JSONObject jsonObj=new JSONObject(map);

// 测试结果
System.out.println(jsonObj.toString());

}

6。实体类 转json格式的字符串

public static void myJson(Student student) {
String str = JSONObject.toJSONString(student);
// 测试结果
System.out.println(str);
}

7、实体类转实体类

public static void myJson(Student1 student1) {
String str = JSONObject.toJSONString(student);
Student2 student2 = JSON.parseObject(str, new TypeReference(){});
}
一、提取JsonObject(或Map)中的key-value值

1、获取JsonObject 的key
public void myJson(JSONObject params){
Map<String, Object> map = params;
Set keys = map.keySet();
for (String key : keys) {
System.out.println(key+"-----"+map.get(key));
}
}

2.获取JsonObject中的School的key-value值
public void myJson(JSONObject params){
Map<String, Object> map = params;
// {"小学":"4","初中":"2","高中":"1"}
Map<String, String> m1 = (Map<String, String>) map.get("school");
Set keys = m1.keySet();
for (String key : keys) {
System.out.println(key+" ----- "+m1.get(key));
}
}

二、Gosn
解决反序列化,如果后台每个属性值为空时,也返回该属性

需要转jsonStirng的对象

Gson gson= new GsonBuilder().serializeNulls().create();
String jsonObject = gson.toJson(object);
三、String字符串分隔
解决字符串逗号分隔

String namesStr = "山东省,江苏省,广东省,浙江省";
String[] names = namesStr.split(",");
for (int i = 0, len = names.length; i < len; i++) {
System.out.println(names[i])
}

未经允许不得转载:lxfamn » Java中Json、String、jsonObject、jsonArray格式之间的互相转换 (Fastjson、Gson、String字符串分隔)

赞 (0) 打赏

置顶推荐

评论 0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏