【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,再重新取值即可。

时间: 2024-10-11 00:05:35

【Gson】网页上String获取的Json数据转化为对象的相关文章

把json数据转化成对象

把json数据转化到一个对象中,再用对象直接调用 1 package com.lxj.register; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.MalformedURLException; 7 import java.net.URL; 8 9 import net.sf.json.JSONObjec

Diablo3英雄榜-使用Volley和Gson来处理暴雪API的Json数据

使用Volley和Gson来处理Json 暗黑3的API传递给我们的是一个Json数据.现在开始我们尝试来解析它.在百度了一下之后,我初步知道了2个工具.一个是Volley这个是用来获取Json数据.一个是Gson这个是用来解析Json数据. 本章的目标: 读取暴雪的API数据 解析该数据 使用Volley来获取Json数据 Volley支持原生字符串.图像.Json.可以让我们更专注于应用程序的逻辑.Volley通过下面的方法获取. $git clone https://android.goo

用安卓自带的原生方法解析从webservice获取的json数据

研究了oschina,获取的信息都是用xml的,感觉没json那么好,解析太复杂循环啥的,还有xml相对于json来说太多了,麻烦. 之前试过用geon还有fastjson但是老是报错.还是用原生自带的json方法.这里我来接受一组json数据 譬如我们想要获取一堆人员信息, [ {"username":"马晕","company":"albaba"}, {"username":"刘强西"

Web Api 获取post json数据

这周在做一个webApi的模拟后台.遇到些问题.和大家分享一下,以前没有搞过webapi.所以不是太懂. 当我发post请求的json数据过来的时候,如果我用context.Request .Form去收的时候会发现,一小半的json数据跑到了Key里面,其他数据在form[0]中,很奇怪.后来恍然大悟我发送的又不是表单干嘛用表单去接收,然后去用HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);直接读取流然后再转

获取的Json数据需要去掉特殊符号

我们平时在后台代码里面获取的Json数据如下情况: json会包含\r ,\n, \  等一些特殊的符号.下面我们就写一个方法去消除这些特殊符号,在代码里获取到纯净的json. 1 public static String JsonRemoveSymbols(String s) 2 { 3 StringBuilder sb = new StringBuilder(); 4 for (int i = 0; i < s.Length; i++) 5 { 6 char c = s[i]; 7 swit

java 判断String字符串是不是json数据

java 判断String字符串是不是json数据 CreationTime--2018年8月24日18点23分 Author:Marydon JSONObject jo = null; try { jo = JSONObject.fromObject(content); } catch (Exception e) { throw new RuntimeException("不是json格式数据:" + jo); } 相关推荐: 类似文章 原文地址:https://www.cnblog

将String类型的json数据转换为真正的json数据

问题 在做JavaWeb项目的时候,我们经常需要将Java对象转化为Json数据格式响应到前台页面,但是转化完成之后,看着是Json类型的数据格式,但实际上是字符串类型,在这里说两个方法将String类型的Json转化为真正的Json. 解决方法 1.在服务器端设置MIME类型 在servlet中设置响应的MIME类型,具体代码: response.setContentType("application/json;charset=utf-8"); 2.在前端页面中利用Ajax中的$.g

JSON数据与Java对象的相互转换

JSON数据与Java对象的相互转换 JSON解析器 常见的解析器:Jsonlib .Gson. fastjson. jackson JSON转化为Java对象 使用步骤: 1.导入jackson的相关jar包 2.创建jackson核心对象ObjectMapper 3.使用ObjectMapper的相关方法进行转换 1.readValue(json字符串数组,Class) Java转化为JSON对象 使用步骤 1.导入jackson的相关jar包 2.创建jackson核心对象ObjectMa

用JAVA进行Json数据解析(对象数组的相互嵌套)

这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相关工具美化后的结果 {  "translation": [    "爱"  ],  "basic": {    "us-phonetic": "l?v",    "phonetic": &q