首先约定json表示节点的规则,如
{
    "data": {
        "req": [{
            "node1": "value1",
            "node2": "value2"
        }, {
            "node3": "value3",
            "node4": "value4"
        }]
    }
}

要获取node2的值时,规则应该填写JSON.data.req[0].node2
要获取node3的值时,规则应该填写JSON.data.req[1].node3

下面提供方法解析获取具体的值

/*** 对节点进行解析* * @param obj* @param node* @return*/private static JSONObject getObj(JSONObject obj, String node) {try {if(node.contains("[")) {JSONArray arr = obj.getJSONArray(node.substring(0, node.indexOf("[")));for(int i = 0; i < arr.size(); i++) {if ((i + "").equals(node.substring(node.indexOf("["), node.indexOf("]")).replace("[", ""))) {return arr.getJSONObject(i);}}} else {return obj.getJSONObject(node);}} catch(Exception e) {return obj;}return null;}
/*** 获取节点值* @param jsonContent* @param jsonPath* @return* @throws Exception*/public static synchronized String getNodeValue(String jsonContent, String jsonPath) throws Exception {String[] nodes = jsonPath.split("\\.");JSONObject obj = JSONObject.parseObject(jsonContent);for (int i = 1; i < nodes.length; i++) {if (obj != null) {obj = getObj(obj, nodes[i]);}if ((i+1) == nodes.length) {try {return obj.getString(nodes[i]);} catch(Exception e) {return "JSONException:" + e.getMessage() + ", NodeString:" + obj.toString();}}}return null;}

Java解析JSON,按规则获取JSON节点内容相关推荐

  1. ajax解析json中的对象数组对象,在JQuery中检索json数组后获取json对象Ajax

    我使用JQuery AJAX检索某些数据(标题和说明).正如你可以看到我打通的结果,并出结果的JSON数组和循环div标签中在JQuery中检索json数组后获取json对象Ajax success ...

  2. java解析未知key json_获取JsonObject某一未知key的值操作

    我就废话不多说了,大家还是直接看代码吧~ //returnContent为获取到的返回参数 System.out.println(returnContent); //参数转换成json格式 JSONO ...

  3. html遍历json数组,JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】

    本文实例讲述了JS遍历JSON数组及获取JSON数组长度操作.分享给大家供大家参考,具体如下: 遍历 JSON 数组: var questions = data.data.questionnaire. ...

  4. JSON数据格式---JSON语法规则、JSON文件

    JSON是JavaScript Object Notation的缩写,是一种轻量级的数据交换格式. JSON是独立于任何语言的文本格式.易于被计算机解析和生成 JSON中文网:http://www.j ...

  5. JSON之三:获取JSON文本并解释(以google的天气API为例)

    google提供了天气的api,以广州天气为例,地址为: http://api.openweathermap.org/data/2.5/weather?q=guangzhou 返回的结果为: { &q ...

  6. JSON基础入门实战讲解在线视频课程-JSON语法规则,json对象,json数组的定义和使用

    JSON 语法 微信小程序交流群:111733917 | 微信小程序从0基础到就业的课程:https://edu.csdn.net/topic/huangjuhua JSON 语法是 JavaScri ...

  7. php获取网页js中的json,从php获取json数据使用js读取显示到网页笔记

    //json与数组转换 $array = array("username" => "hellojson","age" => 23 ...

  8. python取数组最后一个元素_Python Json。只获取json数组中的最后一个元素

    我刚开始尝试python,现在我有点左右为难.在 我试图从一个json文档打印,而我只得到数组中的最后一个元素.在[{ "FullMeasure": "1/2 cup&q ...

  9. Java 解析xml 使用SAXReader获取所有标签的key和value的代码实例

    Java中使用SAXReader获取xml信息中所有标签的key和value,若是有二级或者继续嵌套,也可以递归获取的代码实例 /*** @author LiXuekai on 2020/7/26*/ ...

  10. java解析pdf格式文件获取文本内容

    思路:先将pdf按照页数分割成图片,在将分割的图片做图片识别,提取文字,最后将提取到的文字解析或者保存到txt文件. 图片识别我使用的是百度开发者中心提供的 图片识别接口,我在上一篇文章中有详细说明, ...

最新文章

  1. redis cluster 安装配置
  2. R语言WVPlots包可视化克利夫兰点ClevelandDotPlot、并按照分类变量排序进行可视化克利夫兰点ClevelandDotPlot
  3. 通过外貌就能看出程序员的资历? | 每日趣闻
  4. 3.8 激活函数的导数-深度学习-Stanford吴恩达教授
  5. spring 启动进度_在Web浏览器中显示Spring应用程序启动的进度
  6. 2能不用cuda_洗洁精不用花钱买,自己在家2毛钱能做一大瓶,效果比买的还好!...
  7. 自从安上了“AI”,这些商务经理天天按时下班了
  8. SpringBoot整合freemarker中自定义标签获取字典表的数据
  9. Getting Contexts 获得上下文
  10. 商务部回应中兴被罚:坚决反对美国用国内法制裁中企
  11. 【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 一维数据的 K-Means 聚类 ) ★
  12. 共享硬盘没有权限访问计算机,Win7系统打开磁盘共享说“没有访问权限
  13. 怎么在计算机登录VMware,vmware虚拟机怎么用,vmware虚拟机的使用方法
  14. [完]PHP 格式化显示时间 date() 函数
  15. Python中的if __name__ == ‘__main__‘什么意思?
  16. mysql常考50_要想学好SQL语句必会的50题,也是考试常考的点
  17. lesson - 7 课程笔记 vim
  18. 论文阅读:智能机器故障诊断方法综述Applications of machine learning to machine fault diagnosis: A review and roadmap
  19. 南邮电工电子实验设计5(单极共射放大电路)
  20. 关于论坛、博客、SNS三者之间的区别

热门文章

  1. 百度地图api 刷新地图_百度地图VS高德地图,谁更胜一筹?
  2. factoryio-2.3.1虚拟仿真实验室软件
  3. matlab信号加入白噪音再分离,Matlab中给信号增加白噪声
  4. python爬取豆瓣电影影评_Python3爬虫实战:以爬取豆瓣电影为例
  5. 平板电脑全国产化电子元件推荐方案
  6. python爬取58同城二手房信息
  7. 春节假期,把“电影院”搬回家,泰捷WEBOX T1S 投影仪全面评测
  8. 火狐浏览器去除广告插件
  9. linux基础52——cksum、md5sum、sha1sum
  10. 矩阵分析之 实矩阵分解(3)Cholesky分解