在开发过程中我们经常需要使用json格式的数据来传递信息,本文使用org.json,该jar非常轻量级,没有依赖
代码如下:
package test.json;
import java.util.HashMap;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
public class JSonTest2 {
public static void jsonTest1(){
try {
String json = "{"name":"路之遥"}";
JSONObject jsonObj = new JSONObject(json);
String name = jsonObj.getString("name");
jsonObj.put("initial", name.substring(0, 1).toUpperCase());
String[] products = new String[] { "继续教育", "远程医疗", "桌面软件" };
jsonObj.put("product", products);
Map<String, String> ingredients = new HashMap<String, String>();
ingredients.put("继续教育", "3Years");
ingredients.put("远程医疗", "1Years");
ingredients.put("桌面软件", "4Years");
jsonObj.put("produce", ingredients);
System.out.println(jsonObj);
} catch (Exception e) {
}
}
public static void main(String[] args){
jsonTest1();
}
}
执行的时候碰到了 UnsupportedClassVersionError:Bad version number in .class file这个问题,本机环境的jdk版本为1.5
解决方法如下:
在org.json的下载包中含有源代码,将源代码重新编译,导出成jar包,即可使用。
测试类:Json测试类
package test.json; import java.util.HashMap; import java.util.Map; import org.json.JSONArray; import org.json.JSONObject; public class JSonTest2 { public static void jsonTest1(){ try { String json = "{\"name\":\"测试jsonString\"}"; JSONObject jsonObj = new JSONObject(json); String name = jsonObj.getString("name"); jsonObj.put("initial", name.substring(0, 1).toUpperCase()); String[] products = new String[] { "继续教育", "远程医疗", "桌面软件" }; jsonObj.put("product", products); Map<String, String> ingredients = new HashMap<String, String>(); ingredients.put("继续教育", "3Years"); ingredients.put("远程医疗", "1Years"); ingredients.put("桌面软件", "4Years"); jsonObj.put("produce", ingredients); System.out.println(jsonObj); } catch (Exception e) { } } public static void main(String[] args){ jsonTest1(); } }
重新编译后的json包:json.jar