java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本篇文章主要介绍了 java 生成 json 字符串的方法,包括 map 对象转换成 json 对象,list 转换成 json,json 转换成 list 和 map,有兴趣的可以了解一下。
例 1:将 map 对象添加一次元素(包括字符串对、数组),转换成 json 对象一次。
代码:
- package com.json;
- //这是使用org.json的程序:
- import java.util.HashMap;
- import java.util.Map;
- import org.json.JSONException;
- import org.json.JSONObject;
- public class jsontest {
- public static void main(String[] args) throws JSONException {
- String json = "{'name':'reiz'}";
- JSONObject jsonObj = new JSONObject(json);
- String name = jsonObj.getString("name");
- System.out.println(jsonObj);
- jsonObj.put("initial", name.substring(0, 1).toUpperCase());
- String[] likes = new String[] { "JavaScript", "Skiing", "Apple Pie" };
- jsonObj.put("likes", likes);
- System.out.println(jsonObj);
- Map <String, String> ingredients = new HashMap <String, String>();
- ingredients.put("apples", "3kg");
- ingredients.put("sugar", "1kg");
- ingredients.put("pastry", "2.4kg");
- ingredients.put("bestEaten", "outdoors");
- jsonObj.put("ingredients", ingredients);
- System.out.println(jsonObj);
- }
- }
运行结果:
- {"name":"reiz"}
- {"initial":"R","likes":["JavaScript","Skiing","Apple Pie"],"name":"reiz"}
- {"ingredients":{"apples":"3kg","pastry":"2.4kg","bestEaten":"outdoors","sugar":"1kg"},"initial":"R","likes":["JavaScript","Skiing","Apple Pie"],"name":"reiz"}
(需要用到的包可在官网下载: http://www.json.org/java/index.html )
例 2:list 转换成 json 的三种参数形式。
- import java.util.ArrayList;
- import java.util.List;
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- public class listToJson {
- public static void main(String[] args) {
- boolean[] boolArray = new boolean[] {
- true,
- false,
- true
- };
- JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
- System.out.println(jsonArray1);
- // prints [true,false,true]
- List list = new ArrayList();
- list.add("first");
- list.add("second");
- JSONArray jsonArray2 = JSONArray.fromObject(list);
- System.out.println(jsonArray2);
- // prints ["first","second"]
- JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");
- System.out.println(jsonArray3);
- // prints ["json","is","easy"]
- }
- }
运行结果:
- [true,false,true]
- ["first","second"]
- ["json","is","easy"]
例 3:json 转换成 list 和 map。
- package com.json;
- import java.util.Collection;
- import java.util.Map;
- import java.util.Map.Entry;
- import net.sf.json.JSONArray;
- import net.sf.json.JSONObject;
- public class jsonToListandMap {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String listStr = "[\"apple\",\"orange\"]";
- Collection<String> strlist = JSONArray.toCollection(JSONArray.fromObject(listStr));
- for (String str : strlist) {
- System.out.println(str);
- }
- String mapStr = "{\"age\":30,\"name\":\"Michael\",\"baby\":[\"Lucy\",\"Lily\"]}";
- Map<String, Object> map = (Map) JSONObject.toBean(JSONObject
- .fromObject(mapStr), Map.class);
- for (Entry<String, Object> entry : map.entrySet()) {
- System.out.println(entry.getKey() + " " + entry.getValue());
- }
- }
- }
运行结果:
apple
orange
name Michael
age 30
baby [Lucy, Lily]
来源: http://www.phperz.com/article/17/1218/358835.html