JsonToString in GWT

本文提供了一个用于解析JSON数据的Java类实现。该解析器能够将JSON数据转换为字符串形式,并通过递归方式处理对象和数组成员。适用于理解JSON结构及GWT客户端应用的数据处理。
import java.util.Iterator;

import com.google.gwt.json.client.*;

/**
*
* try to analyse the json data,
* reference: http://www.cnblogs.com/liubiqu/archive/2008/04/22/1164788.html
*
*/
public class Parser {
public static String json2String(JSONValue json){
String result = "";
if( json == null) {
return "(null): invalid data";
}

if(json.isObject() != null) {
//case 'object'
if(json.isObject().isArray() != null) {
//case 'array'
//members of object
//reference: http://www.json.org/
// members
// pair , members
for(int item = 0; item < json.isObject().isArray().size(); item++) {
result += json2String(json.isObject().isArray().get(item));
result += "," ;
}

return "[" + result.substring(0, result.length()-1) + "]";
}
else {
//members of object
//reference: http://www.json.org/
// members
// pair
for(Iterator properties = json.isObject().keySet().iterator(); properties.hasNext(); ) {
String property = properties.next().toString();
JSONValue value = json.isObject().get(property);
result += "\"" + property + "\":" + json2String(value);
result += ",";
}

return "{" + result.substring(0, result.length()-1) + "}";
}
}
else if (json.isString() != null) {
//case 'string'
return json.isString().stringValue();
}
else if (json.isNull() != null) {
//case 'null'
return "null";
}else {
return "\"" + json.toString() + "\"" ;
}


}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值