后台对数组、map和json字符串的处理
package sdcncsi.ict.util;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class testjson {
// test
public static void main(String[] args) {
int myInt = 10;
int myInt2;
String myString = "100";
String myString2;
// 整形转化成字符串
myString2 = String.valueOf(myInt);
System.out.println(myString2);
// 字符串转化为整形
myInt2 = Integer.parseInt(myString);
System.out.println(myInt2);
// 数组格式的处理
// 数组定义的两种方式
// 直接赋值(字符串数组同理)
int[] arr = {1,2,3,4,5,6,7,8,9};
// 循环写入
int[] arr2 = new int[9];
for(int i=0;i<9;i++){
arr2[i]=i+1;
}
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(arr2));
// 数组的两种遍历方法(字符串数组同理)
for(int j=0;j<arr.length;j++){
System.out.println(arr[j]);
}
for (int a : arr) {
System.out.println(a);
}
// map的处理
// 建立map
Map<String, Integer> map = new HashMap<String, Integer>();
// map的常用方法
// 添加属性
map.put("a",1);
map.put("b",2);
map.put("c",3);
map.put("d",4);
map.put("e",5);
// map获取某个属性
int a = map.get("e");
System.out.println(a);
// map的遍历
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("key:" + entry.getKey() + ";value:" + entry.getValue());
}
// 删除属性
map.remove("e");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("key:" + entry.getKey() + ";value:" + entry.getValue());
}
// json格式的处理
// 对于前端传来的json格式,我们可以在后台直接用map<String,Object>来接收,然后便会转换成map类型,我们只需要在map上处理即可
// json数组字符串的处理
// 定义一个json字符串
String jsonString = "[{\"mc\":\"税费报账\",\"url\":\"\",\"qxid\":1680617,\"sjid\":1680611,\"icon\":\"qita_v1.png\"},{\"mc\":\"成本摊分规则\",\"url\":\"\",\"qxid\":1680609,\"sjid\":1680607,\"icon\":\"qita_v1.png\"}]";
// 把json字符串转换为json数组,格式为[{k:v,k2:v2},{k:v,k2:v2}]
// JsonArray 得引入对应的 jar包
JsonArray bbb = new JsonParser().parse(jsonString).getAsJsonArray();
// 对json数组进行遍历
for (int i=0;i<bbb.size();i++){
// 此时得到的数据格式为{k:v,k2:v},但是类型为jsonelement,没有获取具体属性的方法,因此得转换为JsonObject的格式,便会有get(obj)的方法
JsonObject ob = bbb.get(i).getAsJsonObject();
// 转换成ob后,调用get返回的是对象,通过toString转为字符串即可变成我们要使用的数据
String mu = ob.get("mc").toString();
System.out.println(mu);
}
}
}