用到了Gson的JsonParser

maven项目引入

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.3</version>
</dependency>

也可以直接去这个网址下载jar包 https://mvnrepository.com/artifact/com.google.code.gson/gson

我们来解析下面这个json字符串

Java代码

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class Test {
public static void main(String[] args) {
String resultStr = "{\"status\": 0,\"message\": \"query ok\","+
"\"result\": {\"address\": \"北京市海淀区镜桥\","+
"\"address_component\": {\"nation\": \"中国\",\"province\": \"北京市\","+
"\"city\": \"北京市\",\"district\": \"海淀区\","+
"\"street\": \"镜桥\",\"street_number\": \"镜桥\"}}}";

JsonParser jp = new JsonParser();
//将json字符串转化成json对象
        JsonObject jo = jp.parse(resultStr).getAsJsonObject();
        //获取message对应的值
        String message = jo.get("message").getAsString();
        System.out.println("message:" + message);
        //获取address对应的值
        String address = jo.get("result").getAsJsonObject().get("address").getAsString();
        System.out.println("address:" + address);
        //获取city对应的值
        String nation = jo.get("result").getAsJsonObject().get("address_component")
        .getAsJsonObject().get("nation").getAsString();
        System.out.println("nation:" + nation);
}
}
最后输出结果

java 获取json字符串中key对应的值的更多相关文章

  1. 不转实体直接获取Json字符串中某个字段的值

    JObject jo = (JObject)JsonConvert.DeserializeObject(JsonStr);//JsonStr 为Json字符串 string lng = jo[&quo ...

  2. 获取Json字符串中的key和value

    获取Json字符串中的key和value 在web项目中经常会用到json数据(如:struts2处理请求返回json数据给jsp解析),因此,JSONObject对象是必备的,这时就需要引入相关的j ...

  3. json字符串中key值下划线命名转换为驼峰命名

    json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...

  4. Java 获取一个字符串中,另一个字符串出现的次数

    Java 获取一个字符串中,另一个字符串出现的次数 思想: 1. indexOf到字符串中到第一次出现的索引2. 找到的索引+被找字符串长度,截取字符串3. 计数器++ 代码实现: public cl ...

  5. 使用fastjson 获取json字符串中的数组,再转化为java集合对象

    最近,使用layui做一个导出功能,尽管有插件提供导出,但是呢,由于数据中有状态是数字,例如1显示是已支付,但是导出时也希望这样显示,但是导出的还是1: lz没有找到改下这个插件的办法,只能利用服务端 ...

  6. 解析Json字符串中的指定的值

    { "head": { ", "Id": "20191008144448iAQE", "Message": & ...

  7. 获取Json字符串中某个key对应的value

    JSONObject jsonObj= JSONObject.fromObject(jsonStr); String value= jsonObj.getString(key);

  8. java获取json格式中的值

    先右键项目,然后点击properties,然后选中java Builder Path,选择add external jars,引入需要引入json.jar package web; import or ...

  9. C#获取Json字符串中的某个值

    问题描述: json数据格式{"resCode":0,"resMag":"aaa","data":[{"par ...

随机推荐

  1. oracle 导入导出功能

    关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. - EXPDP和IMPDP是服务端的工具程序,他 ...

  2. C++的面向对象的Dijkstra写法

    C++的面向对象的Dijkstra写法 面向对象特点的充分使用 清晰的逻辑 简洁的图输入 程序 面向对象特点的充分使用 清晰明确的类实现 class Edge(边的实现) class Req (路由请 ...

  3. Hibernate 关系配置

    表之间关系 1. 一对多 一个部门有多个员工,一个员工只能属于某一个部门 一个班级有多个学生,一个学生只能属于一个班级 2. 多对多 一个老师教多个学生,一个学生可以被多个老师教 一个学生可以先择多门 ...

  4. 实现一个微信小程序组件:文字跑马灯效果

    marquee.json { "component": true, "usingComponents": {} } marquee.wxml <!--co ...

  5. word中英文双引号的样式区分与替换技巧

    https://jingyan.baidu.com/article/3f16e003147ea42590c10349.html 场景:一篇word文档中,想要全选更改字体,使得中文全部为“宋体”,英文 ...

  6. 机器学习 - 算法 - SVM 支持向量机 Py 实现 / 人脸识别案例

    SVM 代码实现展示 相关模块引入 %matplotlib inline import numpy as np import matplotlib.pyplot as plt from scipy i ...

  7. osgViewer::Viewer::Windows

    osg自带窗口去掉边框 #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include<iostream> #incl ...

  8. 22Flutter中的常见的按钮组件 以及自定义按钮组件

    /* Flutter中的常见的按钮组件 以及自定义按钮组件 一.Flutter中的按钮组件介绍 Flutter里有很多的Button组件,常见的按钮组件有:RaisedButton/FlatButto ...

  9. LeetCode_58. Length of Last Word

    58. Length of Last Word Easy Given a string s consists of upper/lower-case alphabets and empty space ...

  10. 为什么要用k8s

    经过几次面试,发现有的公司没有用过k8s,有的公司正在用,但是都问了共同的问题:k8s的好处在哪里.所以总结了一下几点 1.故障迁移:当某一个node节点关机或挂掉后,node节点上的服务会自动转移到 ...