//微信里一个检测是否有发送模版消息的权限的方法
//此处的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. js 取get过来的数据

    function getQuery(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&am ...

  2. ctime、atime、mtime时间

    区分一个文件或者目录的更改时间(change time,ctime),访问时间(access time,atime)以及修改时间(modify time,mtime)很重要. ctime——在Unix ...

  3. js刷新页面方法大全(转)

    刷新页面实现方式总结(HTML,ASP,JS) 转载  2008-11-13   作者:    我要评论 多种方法实现页面的刷新代码 定时刷新: 1,<script>setTimeout( ...

  4. hadoop job 重要性能参数

    name 说明 mapred.task.profile 是否对任务进行profiling,调用java内置的profile功能,打出相关性能信息 mapred.task.profile.{maps|r ...

  5. 《鸟哥的Linux私房菜》读书笔记5

    1.shell script 用在系统管理上面是很好的一项工具,但是用在处理大量数值运算上, 就不够好了; 2.shell script 其实就是纯文字文件 (ASCII) ,我们可以编辑这个档案, ...

  6. hdu1057

    #include <iostream> #include <string> #include <cstring> using namespace std; int ...

  7. Struts2 源码分析-----拦截器源码解析 --- ParametersInterceptor

    ParametersInterceptor拦截器其主要功能是把ActionContext中的请求参数设置到ValueStack中,如果栈顶是当前Action则把请求参数设置到了Action中,如果栈顶 ...

  8. Cogs 9. 中心台站建设

    9. 中心台站建设 ★★☆   输入文件:zpj.in   输出文件:zpj.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     n个城市之间有通讯网络,从这n个城 ...

  9. centos 7 安装python3

    centos系统默认已安装python2.7,python3需要手动安装.以上是安装步骤 一.备份原来的2.7版本 首先看一下默认的python2.7在哪里 [root@apple ~]# cd / ...

  10. mysql中group by分组

    为了测试group by语句,我们首先创建一个表: 然后向表内添加数据: 然后我们查看一下表的内容 接着我们分别按照性别和年龄对这个表进行分组; 我们可以看到表内的数据没有原表的多了,原因就是分组有去 ...