自定义JSON字符串类【map转换json格式】
因为是想把hibernate获取的数据记录转换为json数据,网上的转json格式的java包无法识别记录中有外键的情形。于是决定自己写一个简单的用map转json格式字符串的类。


public class MyJson {
private String json;
private String js;
privateintisfirst = 0;
public MyJson()
{
json = "{\"json\":[";
js = "{";
}
public MyJson(String name)
{
json = "{\""+name+"\":[";
js = "{";
}
public String getjson()
{
json = json + "]}";
returnjson;
}
privatevoid endjs()
{
js = js.substring(0,js.length()-1);
js = js + "}";
}
privatevoid addcol(String name,String value)
{
js = js + "\"" + name +"\":" + "\"" + value + "\",";
}
publicvoid addmap(HashMap<String,String> map)
{
Iterator it = map.entrySet().iterator();
while(it.hasNext())
{
Map.Entry m=(Map.Entry)it.next();
String name = m.getKey().toString();
String value = "-";
try{
value = m.getValue().toString();
}catch(Exception e)
{
value = "-";
}
addcol(name,value);
}
endjs();
isfirst++;
}
publicvoid addrec()
{
if(isfirst!=1) json = json + ",";
json = json + js;
js = "{";
}
}



调用:

MyJson json = new MyJson(“info”);  //初始化json,参数为json数据第一字段。
for(int i=0;i<10;i++)  //循环插入10组记录
{
//手动生成map格式记录
HashMap<String,String> hmap = new HashMap<String,String>();
hmap.put("username","user0"+i);
hmap.put("userpass","pass0"+i);


json.addmap(hmap);  //把map加入json中
json.addrec();  //更新记录到json中
}

String text = json.getjson();  //获得json格式字符串
out.println(text);



Ajax中调用:
ajax中传来参数后直接:
info[i].username




阅读更多
个人分类: MyWorks
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

自定义JSON字符串类【map转换json格式】

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭