Java json拼接字符串_Javal连接字符串为Json

该代码段展示了如何在Java中将键值对和列表转化为JSON格式的字符串。方法包括将字符串数组转化为JSON对象,将列表转化为JSON数组,并处理元素是否已为JSON格式的情况。此外,还提供了一个通用的方法将任意对象转化为JSON字符串。
摘要由CSDN通过智能技术生成

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

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 String concatJson(List list,boolean alreadyElementJson){

if(list==null)

return null;

StringBuilder sb=new StringBuilder();

sb.append("[");

int size=list.size();

for(int i=0; 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 String concatJson(List 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

sb.append(objectToJson(jsonObjects.get(i))+",");

}

if(sb.charAt(sb.length()-1)==','){

sb.deleteCharAt(sb.length()-1);

}

sb.append("]");

return sb.toString();

}

public static 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();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值