json字符串的一些转换

Posted on 2017-12-05 11:14  吸血鬼Damon  阅读(127)  评论(0)    收藏  举报

 

在前端使用JSON.parse()从一个字符串中解析出json对象,如:

var str = '{"name":"huangxiaojian","age":"23"}'

结果:JSON.parse(str)

Object
  1. age: "23"
  2. name: "huangxiaojian"
  3. __proto__: Object

单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常;

和JSON.stringify() 从一个对象解析出字符串,如:

var a = {a:1,b:2}

结果:

JSON.stringify(a)

"{"a":1,"b":2}"

 

下面两个是com.google.gson.Gson的

-----------------------------------------------------------------------------------------------------------------

String、JsonObject、JavaBean 互相转换

User user = new Gson().fromJson(jsonObject, User.class);

User user = new Gson().fromJson(string, User.class);

String string = new Gson().toJson(user);

JsonObject jsonObject = new Gson().toJsonTree(user).getAsJsonObject();

JsonObject jsonObject = new JsonParser().parse(string).getAsJsonObject();

-----------------------------------------------------------------------------------------------------------------

String、JsonArray、List互相转换

List<User> userList = gson.fromJson(string, new TypeToken<List<User>>() {}.getType());

List<User> userList = gson.fromJson(jsonArray, new TypeToken<List<User>>() {}.getType());  //暂时实际开发中只用到这个,其他的找个时间搞搞

String string = new Gson().toJson(userList);

JsonArray jsonArray = new Gson().toJsonTree(userList, new TypeToken<List<User>>() {}.getType()).getAsJsonArray();

JsonArray jsonArray = new JsonParser().parse(string).getAsJsonArray();

------------------------------------------------------------------------------------------------------------------

另外net.sf.json.JSONArray的fromObject也可以把json转换成List

JSONArray jsonArray = JSONArray.fromObject(rowsData);
List<User> bindingList = JSONArray.toList(jsonArray, User.class);