zoukankan      html  css  js  c++  java
  • 【Gson】网页上String获取的Json数据转化为对象

    1.网络上获取的String Json格式转化为对象获取数据:

    需要的包:Gson 

    Maven依赖:

    1 <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
    2 <dependency>
    3     <groupId>com.google.code.gson</groupId>
    4     <artifactId>gson</artifactId>
    5     <version>2.8.0</version>
    6 </dependency>

    具体实现:

    1 public static String StingToJson(String Result, String param) {
    2         JsonParser jsonParser = new JsonParser();
    3         JsonElement element = jsonParser.parse(Result);
    4         JsonObject object = element.getAsJsonObject();
    5         String result = object.get(param).getAsString();
    6         return result;
    7     }

    说明:

    这个解析的过程我是走了弯路,因为对方法不熟,到处找教程,未果。当时会报ClassCastException的错,之后看官方文档才发现端倪。

    官方文档地址:http://tool.oschina.net/apidocs/apidoc?api=gson2.2.2

    其中第3行代码得到的 element 可以转化为几个对象,但是,其中的JsonArray在代码里面并不会报错,这里面有一个isJsonArray()方法,可以提前加一个判断,这样就可以完全避免错误。

    【关于嵌套】

    有的Json数据里面还有一层这种情况。

     1 public static void main(String[] args) {
     2         loginResult = LoginPost("xtadmin", "1");
     3         JsonParser parser = new JsonParser();
     4         JsonElement element = parser.parse(loginResult);
     5         if (element.isJsonObject()) {
     6             JsonObject jsonObject = element.getAsJsonObject();
     7             String string = jsonObject.get("result").getAsString();
     8             System.out.println(string);
     9             JsonElement jsonElement = jsonObject.get("entity");
    10             JsonObject object = jsonElement.getAsJsonObject();
    11             String token = object.get("token").getAsString();
    12             System.out.println(token);
    13         }
    14     }

     其中9-11行就是再获取一次Object,再重新取值即可。

  • 相关阅读:
    分页字符串帮助类
    CSS--九宫格滑过变红色
    css --- flex布局
    MongoDB数据库
    background属性和position属性
    js------this关键字
    js程序-- DNA相关问题
    express4.X--中间件
    CSS——<img>标签图片适配居中问题
    git学习———建立git仓库上传github和从github上下载工程
  • 原文地址:https://www.cnblogs.com/xuhai/p/7868784.html
Copyright © 2011-2022 走看看