Javal连接字符串为Json
public static String concatJson(String[] keys,String[] values,String[] alreadyJsonKeys){
if(keys==null|| values==null)
return null;
if(keys.length!=values.length)
return "Json转换出错:key与values长度不相等";
StringBuilder sb=new StringBuilder();
sb.append("{");
for(int i=0;i<keys.length;i++){
Object object=values[i];
if(object==null){
sb.append("\""+ keys[i] +"\":null,");
}else{
if(alreadyJsonKeys!=null
&&CollectionsUtils.indexOf(alreadyJsonKeys,keys[i])>=0){
sb.append("\""+ keys[i] +"\":" + object + ",");
}else{
sb.append("\""+ keys[i] +"\":\"" + object + "\",");
}
}
}
if(sb.charAt(sb.length()-1)==','){
sb.deleteCharAt(sb.length()-1);
}
sb.append("}");
return sb.toString();
}
public static <T> String concatJson(List<T> list,boolean alreadyElementJson){
if(list==null)
return null;
StringBuilder sb=new StringBuilder();
sb.append("[");
int size=list.size();
for(int i=0; i<size;i++){
T object=list.get(i);
if(object==null){
sb.append("null");
}
if(object instanceof Date){
sb.append("\"" + object + "\",");
}else if(object instanceof String){
if(alreadyElementJson){ //已经是json字符串,不加引号
sb.append(object.toString()+",");
}else{
sb.append("\"" + object + "\",");
}
}else if (object instanceof Boolean){
sb.append(object.toString() + ",");
}else{
sb.append(objectToJson(object) + ",");
}
}
if(sb.charAt(sb.length()-1)==','){
sb.deleteCharAt(sb.length()-1);
}
sb.append("]");
return sb.toString();
}
public static<T> String concatJson(List<T> jsonObjects){
if(jsonObjects==null){
return null;
}
if(jsonObjects.size()==0){
return null;
}
StringBuilder sb=new StringBuilder();
sb.append("[");
int size=jsonObjects.size();
for(int i=0;i<size;i++){
sb.append(objectToJson(jsonObjects.get(i))+",");
}
if(sb.charAt(sb.length()-1)==','){
sb.deleteCharAt(sb.length()-1);
}
sb.append("]");
return sb.toString();
}
public static <T> String objectToJson(T t){
if(t==null)
return null;
if(t instanceof List){
return concatJson((List)t,false);
}else if(t instanceof String ||t instanceof Date){
return "\""+t.toString()+"\"";
}else if( t instanceof Integer || t instanceof Long || t instanceof Double
|| t instanceof BigDecimal || t instanceof Float
|| t instanceof Boolean) {
return t.toString() ; //字符串
}
return t.toString();
}
Javal连接字符串为Json的更多相关文章
- ASP.NET 5探险(1):Azure中配置连接字符串、独立项目执行EF7数据迁移
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:我开始把ASP.NET 5用于生产系统开发已经有1个多月了,也填了一些坑积累了一些经验,从今天开始会陆陆续 ...
- asp.net core 系列 22 EF(连接字符串,连接复原,DbContext)
一.连接字符串 在上二篇中,ASP.NET Core 应用程序连接字符串是写死在ConfigureServices代码中,下面介绍通过配置来实现.连接字符串可以存储在 appsettings.json ...
- 微信通过openID发送消息/后台post、get提交并接收数据 C# .NET 配置404,500等错误信息 连接字符串
微信通过openID发送消息/后台post.get提交并接收数据 控制器:下面是post发送消息(微信不支持从前台发送数据,之前试过,报错,需要跨域,跨域的问题解决后还不行,最后发现之后后端提交 ...
- ASP.NET web.config中的连接字符串
在ASP.NET的web.config中,可以用两种方式来写连接字符串的配置. <configuration> <appSettings> <add key=" ...
- 使用配置文件定义ADO.NET 的连接字符串
最近一直在学习ADO.NET的相关知识,发现要对数据库操作的地方都要先创建一个连接字符串: string constr ="Data Source=(local);Initial Catal ...
- 用SQL Server(T-SQL)获取连接字符串
一般情况下,C# 连接SQL Server的字符串可以直接按照说明文档直接手动写出来,或者也可以参考大名鼎鼎的connectionstrings手动拼写 但是如果你已经连接到SQL Server也可以 ...
- 如何识别一个字符串是否Json格式
前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的 ...
- ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB
您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中.你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,Entity ...
- 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...
随机推荐
- MT【326】曲线中的爱恨情仇
[我思故我在]----笛卡尔爱心曲线$r=a(1-sin\theta)$ Matrix 67分手曲线
- jira,Confluence 的JVM内存优化
个人喜好,可能不是很适合大众 JIRA 修改setenv.sh,调整JVM为4096m [root@jira_confluence ~]# cd /app/atlassian/jira/bin/ [r ...
- pwn-ROP
首先对目标文件checksec,提示NX enabled,看看其解释 NX/DEP(堆栈不可执行) NX即No-eXecute(不可执行)的意思,NX(DEP)的基本原理是将数据所在内存页标识为不可 ...
- 第三周java学习总结
学号 20175206 <Java程序设计>第三周学习总结 教材学习内容总结 本周为第四章的学习,分为以下几个方面: 1.包与代码组织 2.String类 3.对象创建 4.包装类 经过代 ...
- 微信小程序绘制分享图
微信小程序绘制分享图例子: demo下载地址:https://gitee.com/v-Xie/wxCanvasShar 大致代码会再以下说明 实际开发项目: 基础知识点: 了解canvas基础知识 w ...
- 关于ajax的与后台Controller的交互 后台拿不到值
话不多说 上代码 这是前段js的代码 传的两个参数 cLassid 和 userid $.ajax({ type:"post", url:"../ ...
- python计算素数和
计算输入两个正整数x,y(x<=y,包括x,y)素数和.函数isPrime用以判断一个数是否素数,primeSum函数返回素数和 以下为源码 def isPrime(n) : for i ...
- 前端安全类——CSRF/XSS
CSRF 概念:跨站请求伪造 全称:Cross-site request forgery 攻击原理:网站中某一个接口存在漏洞,用户在注册网站登录过 防御措施: 1.Token验证:引诱链接只会自动携带 ...
- 爬虫框架Scrapy 之(一) --- scrapy初识
Scrapy框架简介 scrapy是基于Twisted的一个第三方爬虫框架,许多功能已经被封装好,方便提取结构性的数据.其可以应用在数据挖掘,信息处理等方面.提供了许多的爬虫的基类,帮我们更简便使用爬 ...
- mysql 设置skip_name_resolve参数 日志 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode
[环境介绍] 系统环境:Red Hat Enterprise Linux 7 + 5.7.25-enterprise-commercial-advanced-log MySQL Enterprise ...