JSON字符串转换JAVA对象例子。

  1. package com.demo.json;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import net.sf.json.JSONArray;
  7. import net.sf.json.JSONObject;
  8. import org.json.simple.JSONValue;
  9. public class JsonTest
  10. {
  11. public static void main(String[] args)
  12. {
  13. // -----------------------------------------------------------------------------
  14. // Object 2 JSON
  15. List<Peoper> peopers = new ArrayList<Peoper>();
  16. Peoper p1 = new Peoper("001", "Taki", "中国");
  17. Peoper p2 = new Peoper("002", "DSM", "China");
  18. peopers.add(p1);
  19. peopers.add(p2);
  20. String result = JsonTool.getJsonString("Peopers", peopers);
  21. System.out.println("JSON: " + result);
  22. // 解析PHP json_encode 字符串
  23. String jsonStr = "{\"Name\":\"\u5e0c\u4e9a\",\"Age\":20}";
  24. Object obj = JSONValue.parse(jsonStr);
  25. System.out.println(obj);
  26. System.out.println();
  27. // -----------------------------------------------------------------------------
  28. // JSON 2 Object
  29. String jsonString = "["
  30. + "{\"author\":\"7\",\"id\":358,\"title\":\"Japan\",\"pictures\":[{\"description\":\"001\",\"imgPath\":\"/cms/u/cms/www/201203/05150720ii68.jpg\"},{\"description\":\"002\",\"imgPath\":\"/cms/u/cms/www/201203/05150720ii67.jpg\"}],\"path\":\"ip\"},"
  31. + "{\"author\":\"8\",\"id\":359,\"title\":\"China\",\"pictures\":[{\"description\":\"101\",\"imgPath\":\"/cms/u/cms/www/201203/111111111111.jpg\"},{\"description\":\"102\",\"imgPath\":\"/cms/u/cms/www/201203/222222222222.jpg\"}],\"path\":\"ip\"}]";
  32. JSONArray array = JSONArray.fromObject(jsonString);
  33. // Content.class包含pictures.class,需要设置这个参数
  34. Map<String, Class<pictures>> classMap = new HashMap<String, Class<pictures>>();
  35. classMap.put("pictures", pictures.class);
  36. Object[] objs = new Object[array.size()];
  37. for (int i = 0; i < array.size(); i++)
  38. {
  39. JSONObject jsonObject = array.getJSONObject(i);
  40. objs[i] = (Content) JSONObject.toBean(jsonObject, Content.class, classMap);
  41. }
  42. // 转换Content,循环输出所有content
  43. for (int i = 0; i < objs.length; i++)
  44. {
  45. Content content = (Content) objs[i];
  46. System.out.println("author:" + content.getAuthor() + " ID:"
  47. + content.getId() + " Title:" + content.getTitle() + " Path:" + content.getPath());
  48. // 转换pictures,循环输出所有picture
  49. List<pictures> pictures = content.getPictures();
  50. for (int n = 0; n < pictures.size(); n++)
  51. System.out.println("description:"
  52. + pictures.get(n).getDescription() + " imgPath:" + pictures.get(n).getImgPath());
  53. }
  54. }
  55. }

JsonTool:

[java] view plain

  1. package com.demo.json;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4. import net.sf.json.JSONObject;
  5. public class JsonTool
  6. {
  7. public static String getJsonString(Object key, Object value)
  8. {
  9. //System.out.println("key: " + key);
  10. //System.out.println("value: " + value.toString());
  11. JSONObject obj = new JSONObject();
  12. obj.put(key, value);    //添加物件
  13. return obj.toString();  //转换为字符串并返回
  14. }
  15. //解析PHP json_encode 字符串
  16. public static String unescapeUnicode(String str)
  17. {
  18. StringBuffer b=new StringBuffer();
  19. Matcher m = Pattern.compile("\\\\u([0-9a-fA-F]{4})").matcher(str);
  20. while(m.find())
  21. {
  22. b.append((char)Integer.parseInt(m.group(1),16));
  23. }
  24. return b.toString();
  25. }
  26. }

People:

[java] view plain

  1. package com.demo.json;
  2. public class People
  3. {
  4. public People()
  5. {
  6. }
  7. public People(String id, String name, String address)
  8. {
  9. this.id = id;
  10. this.name = name;
  11. this.address = address;
  12. }
  13. private String id;
  14. private String name;
  15. private String address;
  16. public String getId() {
  17. return id;
  18. }
  19. public void setId(String id) {
  20. this.id = id;
  21. }
  22. public String getName() {
  23. return name;
  24. }
  25. public void setName(String name) {
  26. this.name = name;
  27. }
  28. public String getAddress() {
  29. return address;
  30. }
  31. public void setAddress(String address) {
  32. this.address = address;
  33. }
  34. public String toString()
  35. {
  36. return "ID:" + this.id + " Name:" + this.name + " Address:" + this.address;
  37. }
  38. }

Content:

[java] view plain

  1. package com.demo.json;
  2. import java.util.List;
  3. public class Content {
  4. private String author;
  5. private String id;
  6. private String title;
  7. private List<pictures> pictures;
  8. private String path;
  9. public String getAuthor() {
  10. return author;
  11. }
  12. public void setAuthor(String author) {
  13. this.author = author;
  14. }
  15. public String getId() {
  16. return id;
  17. }
  18. public void setId(String id) {
  19. this.id = id;
  20. }
  21. public String getTitle() {
  22. return title;
  23. }
  24. public void setTitle(String title) {
  25. this.title = title;
  26. }
  27. public List<pictures> getPictures() {
  28. return pictures;
  29. }
  30. public void setPictures(List<pictures> pictures) {
  31. this.pictures = pictures;
  32. }
  33. public String getPath() {
  34. return path;
  35. }
  36. public void setPath(String path) {
  37. this.path = path;
  38. }
  39. }

pictures:

[java] view plain

  1. package com.demo.json;
  2. public class pictures {
  3. private String description;
  4. private String imgPath;
  5. public String getDescription() {
  6. return description;
  7. }
  8. public void setDescription(String description) {
  9. this.description = description;
  10. }
  11. public String getImgPath() {
  12. return imgPath;
  13. }
  14. public void setImgPath(String imgPath) {
  15. this.imgPath = imgPath;
  16. }
  17. }

控制台运行结果:

[plain] view plain

  1. JSON: {"Peopers":[{"address":"中国","id":"001","name":"Taki"},{"address":"Japan","id":"002","name":"DSM"}]}
  2. {"Name":"中文内容","Age":20}
  3. author:7 ID:358 Title:Japan Path:ip
  4. description:001 imgPath:/cms/u/cms/www/201203/05150720ii68.jpg
  5. description:002 imgPath:/cms/u/cms/www/201203/05150720ii67.jpg
  6. author:8 ID:359 Title:China Path:ip
  7. description:101 imgPath:/cms/u/cms/www/201203/111111111111.jpg
  8. description:102 imgPath:/cms/u/cms/www/201203/222222222222.jpg
时间: 2024-09-30 15:10:36

JSON字符串转换JAVA对象例子。的相关文章

JSON 字符串 与 java 对象的转换

jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //json-lib-2.2-jdk15.jar import net.sf.json.JSONArray;import net.sf.json.JSONObject; 1. //把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromOb

Json对象与Json字符串的转化、JSON字符串与Java对象的转换

Json对象与Json字符串的转化.JSON字符串与Java对象的转换 一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)

JSON字符串与java对象的转换

所需的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 1. 把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromObject(userlist); String jsonstr = array.toSt

JSON 字符串 与 java 对象之间互相转换

首先引入maven需要依赖的jar: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> 需要导入的类: import net.sf.json

java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFullLesss(),RunfastFullLess.class); 使用阿里巴巴的json插件 <!--json数据转换的阿里巴巴依赖库--><dependency> <groupId>com.alibaba</groupId> <artifactId>

Json字符串转换为java对象

1.  Json字符串转换为java对象 1.1.  Json字符串转换为java bean Json2Bean.java package jackson; import java.io.IOException; import org.codehaus.jackson.map.ObjectMapper; public class Json2Bean { public static void main(String[] args) throws IOException{ String jsonSt

json字符串转换成对象,对象转换成json字符串

方法一: 程序集:  System.Web.Extensions; 命名空间:System.Web.Script.Serialization; 最重要的类:JavaScriptSerializer //实例化 JavaScriptSerializer js = new JavaScriptSerializer(); js.Serialize();//将对象转换成json字符串:    序列号 js.Deserialize();//将json字符串转换成对象:  反序列化 方法二: 程序集:New

json字符串与java对象的相互转换(jackson)

1.java对象转换为json字符串 package com.chichung.json; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JavaToJson { public static void main(String[] args) throws JsonProcessingExcepti

Gson转换JSON字符串和Java对象

最近在Web开发中,用到Json和Ajax传数据,需要实现对象和Json字符串的转换,尝试了多种方法和类库,发现还是Gson比较好用. Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,反之亦可. jar包下载地址:http://code.google.com/p/google-gson/downloads/list: 不过Goole有时访问不了,可以用这个地址:http://mvnre