//微信里一个检测是否有发送模版消息的权限的方法
//此处的openid代表的微信用户openid,templateId代表的是模版消息id
public boolean checkIsSendTempMsgPower(String openid, String templateId) {
boolean flag=true;
if (openid != null) {
JSONObject jo = new JSONObject();
String res = ispService.getBindIspAgentInfo(openid);
if (StringUtils.isNotBlank(res)) {
jo = JSONObject.parseObject(res);
if ("0".equals(jo.getString("errno"))) {
String isAdmin = jo.getString("isAdmin");
String iAgentId = jo.getString("iAgentId");
if (isAdmin.equals("1")) {
flag=true;
} else if (isAdmin.equals("0")) {
JSONObject jos = new JSONObject();
String iPlatFrom="2";
//此处获取到的是json串
String getTemp = ispService.getWeChatTempMsgList(iPlatFrom,
null, iAgentId, null, openid);
if (StringUtils.isNotBlank(getTemp)) {
jos = JSONObject.parseObject(getTemp);
//将数组对象转换成array
JSONArray weChatTempMsgArray = jos.getJSONArray("weChatTempMsgList");
String sKey = "";
for (int i = 0; i < weChatTempMsgArray.size(); i++) {
JSONObject object = (JSONObject) weChatTempMsgArray.get(i);
//循环得到该数组组下你所需要的字段
sKey += object.getString("sKey") + ",";
}
//去掉拼接字符串最后一个逗号
if (sKey.length() > 0) {
sKey = sKey.substring(0, sKey.length() - 1);
}
String[] sKeys = sKey.split(",");
for (int i=0;i<sKeys.length;i++) {
//传入的字符串和循环得到的字符串进行比较
if (sKeys[i].equals(templateId)) {
flag=true;
break;
}
flag=false;
} }
}
}
}
}
return flag;
}

json解析数组类型的数据的更多相关文章

  1. C# Newtonsoft.Json解析数组的小例子[转]

    https://blog.csdn.net/Sayesan/article/details/79756738 C# Newtonsoft.Json解析数组的小例子  http://www.cnblog ...

  2. json 解析double类型多出几位小数,利用NSDecimalNumber修复 , 服务器返回的数据,用数据类型接收(int,NSNumber)?

     后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999,该怎么处理呢? 开发中处理处理价格金额问题, 后台经常返回float.double类型, 打印或转成NSS ...

  3. Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)

    前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...

  4. JSON解析关联类型发生死循环 There is a cycle in the hierarchy!

    解决办法是忽略掉关联类型的数据,使用jsonConfig进行配置,代码如下: JsonConfig jsonConfig = new JsonConfig();  //建立配置文件 jsonConfi ...

  5. Newtonsoft.Json解析数组

    以下是解析json数组: var jsonInfo=[{"name":"abc","id":"1","coun ...

  6. python通过json读写序列类型的数据文件

    import json class a: def writeReadJson(self): list2 =['] with open("test.txt",'w') as f: j ...

  7. delphi中如何将string类型的字符串数据转化成byte[]字节数组类型的数据

    var  S:String;  P:PChar;  B:array of Byte;begin  S:='Hello';  SetLength(B,Length(S)+1);  P:=PChar(S) ...

  8. iOS 中json解析数据出现中文乱码的问题

    一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢 ...

  9. android Json解析详解

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语 言的支持),从而可以在不同平台间进行数 ...

随机推荐

  1. JOptionPane简介

    ------------------siwuxie095                                 JOptionPane 是弹出窗体(对话框)的集合类,它本身 并不是一个具体的 ...

  2. win7下在eclipse3.7中使用hadoop1.2.1插件运行MadReduce例子

    环境 win7+hadoop_1.2.1+eclipse 3.7+maven 3 1.在win7下下载hadoop_1.2.1 2.安装hadoop的eclipse插件,注意eclipse 4.x版本 ...

  3. 8、linux-数字计算

    bash内置了对整数四则运算的支持,但是并不支持浮点运算 bc命令是一种支持任意精度的交互执行的计算器语言,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下 在bc工作环境下,可以使用以下计 ...

  4. BSGS(大小步)算法

    BSGS算法主要用于求解形如ax≡b(mod p)的式子中x的值. 在这里我们不妨设 x=k1*n-k2 这时我们就可以将式子转化为 ak1*n≡b*ak2(mod p) 这里的n我们设为√p,所以我 ...

  5. Java 散列表的实现

    摘自http://www.cxybl.com/html/suanfa/201110125445.html 有改动 public class MyHashtable { //表中元素个数 private ...

  6. LeetCode第14题:最长公共前缀

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...

  7. java8 创建树结构的数据

    private List<TreeNode> createTree(Integer pid, Map<Integer, List<SysPermission>> m ...

  8. 除了BAT,计算机、软件专业的毕业生还有别的好去处吗?

    "学技术的同学应该关注36氪.pingwest,极客公园这些圈子里很有影响力的科技媒体" 转载--除了BAT,计算机.软件专业的毕业生还有别的好去处吗? 又到校招季,985理工科的 ...

  9. redis系列:通过队列案例学习list命令

    前言 这一篇文章将讲述Redis中的list类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/learn ...

  10. 【mybatis-记录】

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...