在企业微信群聊机器人接口对接天气API使用过程中,遇到 过一个问题,就是对于嵌套json数据如何进行嵌套的|

一:"msgtype": "text",

  1. curl 'http://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=633a31f6-7f9c-4bc4-97a0-0ec1eefa5898' \

  2. -H 'Content-Type: application/json' \

  3. -d '

  4. {

  5. "msgtype": "text",

  6. "text": {

  7. "content": "hello world"

  8. }

  9. }'

  10. 这是第一种情况:

//请求天气API

String weather = HttpRequest.sendGet("https://www.tianqiapi.com/api/", "version=v1");
      JSONObject text = new JSONObject();
      //获得天气的json格式的字符串,将字符串转json对象
      JSONObject weatherJson = JSONObject.parseObject(weather);

//将刚获得的json对象中的data键值
      JSONArray ja = weatherJson.getJSONArray("data");

//获得data数据组中第一组数据(一共有5天的天气数据,只取了第一天的数据存入weatherJson1 )
      JSONObject weatherJson1 = JSONObject.parseObject(ja.get(0).toString());
      System.out.println(weatherJson1.get("air_tips"));

text.put("content", weatherJson.get("update_time").toString()+ "数据,东宇鸿翔气象发布:\r\n潍坊:  " + weatherJson1.get("wea")+"\r\n"+ "最高温度:" + weatherJson1.get("tem1") + "\r\n"+ "最低温度:" + weatherJson1.get("tem2") + "\r\n" + "\r\n空气指数:"+ ""+weatherJson1.get("air")+"" + "\r\n空气质量:"+""+weatherJson1.get("air_level")+"\r\n" + weatherJson1.get("air_tips"));

//定义一新jsonobject
      JSONObject msg = new JSONObject();

//定义格式
      msg.put("msgtype", "markdown");

放入json值
      msg.put("markdown", text);

对接的企业微信机器人URL
      String url = "企业微信机器人webhook地址";
      String result = InterfaceUtils.sendPost(url,msg.toJSONString(),"");
      System.out.println(result);

二、"msgtype": "news",类型

  1. {

  2. "msgtype": "news",

  3. "news": {

  4. "articles" : [

  5. {

  6. "title" : "中秋节礼品领取",

  7. "description" : "今年中秋节公司有豪礼相送",

  8. "url" : "URL",

  9. "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"

  10. }

  11. ]

  12. }

  13. }

String weather = HttpRequest.sendGet("https://www.tianqiapi.com/api/", "version=v1");        
      String result;
      //将字符串转json
      JSONObject weatherJson = JSONObject.parseObject(weather);
      Object jaArticle = weatherJson.get("data");
      System.out.println(jaArticle);
      JSONArray jsonSonData = weatherJson.getJSONArray("data");
      System.out.println("L38:" + jsonSonData.get(0));
//      JSONObject weatherJson1 = JSONObject.parseObject(jsonSonData.get(0).toString());
      String data = weatherJson.get("data").toString().substring(1);
      data  = data.substring(0,data.length()-1);
      //第二部分中上面这段数据可能没用,下面对象直接赋死值,是为了测试在连接企业微信机器人json值的使用格式,请见谅。
      Article article = new Article();//定义对象
      article.setTitle("abc");//给对象赋值
      article.setDescription("abc");
      article.setUrl("https://mp.weixin.qq.com/s/Lca666663Vhib_Fbn8sXDk1qCig?company_from66=a42b8d663ced2a11e88d5b52540005f4367767865");
      article.setPicurl("http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png");
      List listArticles = new ArrayList();//定义泛型
      listArticles.add(article);//List数组赋值,可以add多个,亲测有效
      JSONObject msg = new JSONObject();//大json
      JSONObject msg1 = new JSONObject();//小json/**
       *如果将put第二个参数toString(),不能将其转为JSON字符串。
       * msg1.put("articles", listArticles.toString());toString()会在json对应位置多加一地引号,导致下面报错
       * 则
       * "article size out of limit, hint: [1566700084_6_35eebe8628c6d0b3066d76116fff3a17]"}
       */
      msg1.put("articles", listArticles);
      msg.put("msgtype", "news");//格式
      msg.put("news", msg1);
//      msg.put("news", jsArticle);
      System.out.println( "*********77:" + msg.toJSONString());
      System.out.println("*********************");
      String url = "企业微信机器人webhook地址";
      result = InterfaceUtils.sendPost(url,msg.toJSONString(),"");
      System.out.println(result);

制作不易,点个赞吧。

delphi 企业微信消息机器人_企业微信—群聊机器人相关推荐

  1. 【微信机器人】可做自动回复,自动接收转账,群聊机器人。

    前言: 目前市面上的微信机器人项目少之又少,并且大多数的不可用.比如用抓取网页微信接口,但大多数人的账号没有使用网页微信的权限.又或者价格昂贵,如使用微信pad协议.于是便开发一个通过Hook微信的D ...

  2. 记一次钉钉群聊机器人的开发

    文章目录 一.需求描述 二.开发思路 三.开发步骤 (一)阅读开发文档 (二)创建机器人 (三)了解消息格式 (四)传参并调用 (五)其他 四.总结 一.需求描述 为实现更好的沟通,现需要实现以自定义 ...

  3. Baby Q PK小冰 谁才是QQ6.7新增的QQ群聊机器人之王 ...

    一提到QQ群聊机器人,小伙伴们一定不陌生.毕竟酷Q机器人和晨风机器人插件曾风靡一时,霸占过多少QQ群啊!但这些插件虽便利,却极不稳定,经常动不动就罢工了. 腾讯爸爸听到众小伙伴们的呼声,以及近年来AI ...

  4. 企业微信加密消息体_企业微信机器人怎么发消息?企业微信机器人可以定时发消息吗?...

    企业微信外部群自带群机器人功能,可以协助员工高效管理社群,帮助我们运营客户,那么企业微信机器人怎么用呢? 使用企业微信机器人,需要管理员先进入企业微信管理后台,在[客户联系]-[效率工具]-[自动回复 ...

  5. 持续集成之消息推送:钉钉与企业微信的群聊机器人通用示例

    使用钉钉和企业微信的群聊机器人可以进行消息推送,这篇文章使用一个简单的脚本来说明其使用方式. 推送消息的方法 钉钉或者企业微信的群机器人都可提供消息推送的功能,相关的机器人的添加和消息推送的方法可以参 ...

  6. 持续集成之群聊机器人消息推送:钉钉 vs 企业微信

    企业微信和钉钉都有面向群的消息推送机器人,两者的使用非常相近,也有一些细节上的特性的区别,这篇文章将结合前面的使用示例进行总结. 使用方式 不同点 企业微信:先创建群,然后在群中添加机器人,可添加多个 ...

  7. 基于Java实现企业微信群聊机器人-文件上传+消息推送(保证可用)

    基于Java实现企业微信群聊机器人-文件上传+消息推送 1.pom.xml(注意版本尽量保持一致) 2.文件工具类 3.企业微信请求类 4.企业微信响应类 5.发送方法 6.企业微信机器人创建和配置 ...

  8. Zabbix配置企业微信群聊机器人告警

    转载来源 : Zabbix配置企业微信群聊机器人告警 : https://www.jianshu.com/p/b5b1f92b1f15 最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群 ...

  9. 企业微信通过群聊机器人用springboot发送信息

    前言 学习了一下,如何通过企业微信的群聊机器人发送信息,没想到比想象中的简单,那么这次就来讲讲如何进行通过群聊机器人发送信息吧 步骤 第一步,在自己的企业进行创建一个群聊 然后,在自己的群聊里,添加机 ...

最新文章

  1. Bash脚本: 根据关键字做替换
  2. 从原理到落地,七大维度读懂协同过滤推荐算法
  3. python 多态_Python中的多态
  4. vue 返回滚动条顶部组件_vue中回到顶部
  5. POJ1328-Radar Installation
  6. 2019-10-12 欧拉公式的理解
  7. (已解决)登录火狐浏览器账号后没有同步数据--博主的奇妙寻号之旅
  8. node --- koa、Mongoose、vue联系知识梳理
  9. 从理论知识到落地能力,你欠缺了什么?
  10. mysql 分库分表 建表,mysql 分库分表 建表MySQL常用操作
  11. 关于PHP代码写的下载文件打不开的问题,自己备忘!(韩老师2011年的例子)
  12. java根据ip获取经纬度城市地址
  13. 最新教程Instagram如何下载并注册
  14. 洛谷 [P3110] 驮运
  15. FlashFXP基本使用教程
  16. eclipse修改自定义皮肤
  17. javascript eval 函数作用
  18. Linux(进程概念详解)
  19. 高仙机器人四十万能级生产基地项目开工仪式在四川资阳举行
  20. MLY -- 6.Your dev and test sets should come from the same distribution

热门文章

  1. linux以服务的方式启动mongodb,linux以服务的方式启动MongoDB
  2. java启动监听器报错_JAVA通过JDBC连接Oracle数据库详解【转载】
  3. python集合操作 读取_python – Django – 如何使用QuerySet过滤来获取对象的子集?...
  4. python导入csv文件中特定列-如何使用标头完整的python导入csv文件,其中第一列为非数字...
  5. ethercat主站给从站分配多个地址_Profinet 与 EtherCAT 网关使用方法
  6. android button自定义样式详解,Android自定义格式显示Button的布局思路
  7. CIKM 2021 | AMTL:设计孪生掩码层高效学习维度自适应的Embedding
  8. cypress测试框架与selenium_selenium自动化测试框架之PO设计模式
  9. ROS2学习(七).ROS概念 - ROS客户端库(Ros Client Library)
  10. 汇编语言实现计算器---可加减乘除括号负数混合运算