JSONArrayBuilder:用于生成格式简单的json array字符串
来源:互联网 发布:excel关联表格数据 编辑:程序博客网 时间:2024/06/05 13:33
JSONArrayBuilder
import java.util.Iterator;import java.util.LinkedHashMap;import java.util.LinkedList;import java.util.List;import java.util.Map;/** * 用于生成json数组 * @author shanl * */public class JSONArrayBuilder {List<Map<String,String>> ls = new LinkedList<Map<String,String>>();Map<String,String> object = null;public void newObject(){object = new LinkedHashMap<String,String>();}public void endObject(){if(null==object){throw new RuntimeException("请先调用newObject()");}ls.add(object);}public void put(String key, String value){if(null==object){throw new RuntimeException("请先调用newObject()");}this.object.put(replaceJsonChar(key), replaceJsonChar(value));}//public void add(Map<String,String> item){//ls.add(item);//}public void add(JSONArrayBuilder ja){add(ja.getJsonArray());}public void add(List<Map<String,String>> ls){this.ls.addAll(ls);}public List<Map<String,String>> getJsonArray(){return ls;}/** * 将数据转换成json格式字符�? * @return */public String toJsonString(){String sb = "";String key = null;String value = null;Iterator<String> keys = null;sb = "[";for(Map<String,String> item: ls){keys = item.keySet().iterator();sb += "{";while(keys.hasNext()){key = keys.next();value = item.get(key);sb += "\""+ key +"\":";sb += "\""+ value +"\",";}if(sb.endsWith(",")){sb = sb.substring(0, sb.length()-1);}sb += "},";}if(sb.endsWith(",") ){sb = sb.substring(0, sb.length()-1);}sb += "]";sb = sb.replaceAll("\\{\\},", "");sb = sb.replaceAll("\\{\\}", "");return sb;}public String toString(){return toJsonString();}private String replaceJsonChar(String str){StringBuilder sb = new StringBuilder();char[] chs = str.toCharArray();for(char c: chs){switch (c) { case '\"': sb.append("\\\""); break; case '\\': sb.append("\\\\"); break; case '/': sb.append("\\/"); break; case '\b': sb.append("\\b"); break; case '\f': sb.append("\\f"); break; case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; case '\t': sb.append("\\t"); break; default: sb.append(c); } }return sb.toString();}}
JSONArrayBuilder 的测试类
public class Test4 {public static void main(String[] args){t2();//t1();}static void t2(){JSONArrayBuilder jsonArrayBuilder = new JSONArrayBuilder();jsonArrayBuilder.newObject();//for(int i=0; i<2; i++){//jsonArrayBuilder.put("msg", "测试消息"+i);//jsonArrayBuilder.put("result", "true");//}jsonArrayBuilder.endObject();jsonArrayBuilder.newObject();for(int i=0; i<5; i++){jsonArrayBuilder.put("msg"+i, "测试消息"+i);jsonArrayBuilder.put("result", "true");}jsonArrayBuilder.endObject();String ja = jsonArrayBuilder.toJsonString();System.out.println(ja);}static void t1(){JSONArrayBuilder jsonArrayBuilder = new JSONArrayBuilder();for(int i=0; i<2; i++){jsonArrayBuilder.newObject();jsonArrayBuilder.put("msg", "测试消息"+i);jsonArrayBuilder.put("result", "true");jsonArrayBuilder.endObject();}JSONArrayBuilder jsonArrayBuilder0 = new JSONArrayBuilder();for(int i=0; i<2; i++){jsonArrayBuilder0.newObject();jsonArrayBuilder0.put("msg", "测试消息"+i);jsonArrayBuilder0.put("result", "true");jsonArrayBuilder0.endObject();}jsonArrayBuilder.add(jsonArrayBuilder0);String ja = jsonArrayBuilder.toJsonString();System.out.println(ja);}}
- JSONArrayBuilder:用于生成格式简单的json array字符串
- delphi生成JSON格式字符串的一个简单的类
- 巧用JSON.stringify()生成漂亮格式的JSON字符串
- 巧用JSON.stringify()生成漂亮格式的JSON字符串
- JavaScript -- 使用JavaScript生成JSON格式的字符串
- Java用于校验一个字符串是否是合法的JSON格式
- java生成json格式数据,一个简单的class
- 如何通过Html生成JSON格式字符串
- $.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。
- 组装JSON格式的字符串
- 使用json.net 组件 生成JSON字符串,自定义日期格式
- xml格式的字符串到json格式
- 字符串格式的xml转json格式
- 生成 JSON 字符串的工具
- 将字符串修改成数组,这是生成的字符型坐标,转换成json格式
- 生成Json、解析Json的简单示例
- java生成固定格式的XML文件,用于报表
- Array(数组)与Json String (Json字符串) 的相互转换
- RMAN备份控制文件错误,RMAN-03009,ORA-19504,ORA-27040
- 自定义JS 字符串操作函数
- ps 查看系统进程
- 关于容器内URL传递中文参数乱码的解决方案
- Android中利用tcp dump抓包
- JSONArrayBuilder:用于生成格式简单的json array字符串
- C++笔记(二)友元
- Install VMware Tools on Ubuntu
- PHP 面向对象:访问控制
- Linux错误集以及其修复
- 【复习】NOIP2004
- ANDROID2.2新特性.APK安装参数INSTALLLOCATION
- STL iterators
- Android Shell命令相关内容讲解