需要的jar包,注意这里使用的json-lib-2.2.2-jdk15.jar 而不是阿里巴巴的fastjson的那个jar包
1.commons-lang.jar.
2.commons-beanutils.jar
3.commons-collections.jar
4.commons-logging.jar
5.ezmorph.jar
6.json-lib-2.2.2-jdk15.jar
网上大多数文章都是介绍如何把array list map转换成json格式数据的。所以让我一直很困惑,也可能是我的搜索方式不对吧。现在把我的方法总结如下
import java.util.Iterator;
import java.util.Map;
import net.sf.json.JSONObject;
public class Testjson {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String json= "{\"id\":\"https://test.salesforce.com/id/00DK000000AaegcMAB/005A0000000uQ68IAE\"," +
" \"issued_at\":\"1394335343097\",\"token_type\":\"Bearer\"," +
" \"instance_url\":\"https://cs9.salesforce.com\"," +
"\"signature\":\"gI457T1fr5Q5CHRoNF7JPeAjqBY1p/0CaG1yG44D+8U=\"," +
"\"access_token\":\"00DK000000Aaegc!ARwAQFi840QMAJS1yvxBHAVBhUe0CgQS5OvmgzaA6.jtGzJK2kcX62rCnl0kimxGZOKZt0Rj4Kn643QQQDbFlK5LkJzcZ_6y\"}";
JSONObject obj = JSONObject.fromObject(json);
//JSONObject obj = new JSONObject(json);
// System.out.println(obj);
if(obj instanceof Map){
System.out.println("obj is map"); //判断是否是map类型
}
for (Iterator<?> iter = obj.keys(); iter.hasNext();)
{
String key = (String) iter.next();
String value = obj.get(key).toString();
System.out.println(String.format("%s = %s", key,value));
System.out.println("id=========================="+obj.get("id"));
}
}
}
经过以上代码测试发现。只要把json转化成JSONObject就可以用很多方法解析了。方法如上。
还有一点就是sae上(新浪开发者平台)对阿里巴巴的fastjson是不支持的。