JSONObject简介

本节摘要: 如果是一个json格式的字符串传到后台,需要怎么对其处理?如果前台页面需要后台返回的是一个json的字符串,那么后台是怎么把json格式的字符串给拼装起来的呢?JSON和XML是不是...


本节摘要

如果是一个json格式的字符串传到后台,需要怎么对其处理?如果前台页面需要后台返回的是一个json的字符串,那么后台是怎么把json格式的字符串给拼装起来的呢?JSONXML是不是有某种联系,他们之间是不是可以互相转换?

preparation

1.JSONObject介绍

JSONObject-lib包是一个beans,collections,maps,java arraysxmlJSON互相转换的包。

2.下载jar包(jdk1.3

http://files.cnblogs.com/java-pan/lib.rar

提供了除JSONObjectjar之外依赖的其他6jar包,一共7jar文件

JSONObject:A JSONObject is an unordered collection of name/value pairs.

是一个final类,继承了Object,实现了JSON接口

构造方法如下:

JSONObject();创建一个空的JSONObject对象

JSONObject(boolean isNull);创建一个是否为空的JSONObject对象

普通方法如下:

fromBean(Object bean);静态方法,通过一个pojo对象创建一个JSONObject对象

fromJSONObject(JSONObject object);静态方法,通过另外一个JSONObject对象构造一个JSONObject对象

fromJSONString(JSONString string);静态方法,通过一个JSONString创建一个JSONObject对象

toString();JSONObject对象转换为json格式的字符串

iterator();返回一个Iterator对象来遍历元素

JSONArray:A JSONArray is an ordered sequence of values.

是一个final,继承了Object,实现了JSON接口

JSONArray();构造一个空的JSONArray对象

普通方法如下:

fromArray(Object[] array);静态方法,通过一个java数组创建一个JSONArray对象

fromCollection(Collection collection);静态方法,通过collection集合对象创建一个JSONArray对象

fromString(String string);静态方法,通过一个json格式的字符串构造一个JSONArray对象

toString();JSONArray对象转换为json格式的字符串

iterator();返回一个Iterator对象来遍历元素

接下来同样是put/get方法……

XMLSerializer:Utility class for transforming JSON to XML an back.

一个继承自Object的类

构造方法如下:

XMLSerializer();创建一个XMLSerializer对象

普通方法如下:

setRootName(String rootName);设置转换的xml的根元素名称

setTypeHintsEnabled(boolean typeHintsEnabled);设置每个元素是否显示type属性

write(JSON json);json对象转换为xml,默认的字符编码是UTF-8,

需要设置编码可以用write(JSON json, String encoding)

XMLJSON字符串各列一个简单的例子

JSON

{"password":"123456","username":"张三"}

xml

<?xml version="1.0" encoding="UTF-8" ?>
<user_info>
    <password>123456</password>
    <username>张三</username>
</user_info>
public static void jsonToJAVA() {
    System.out.println("json字符串转java代码");
    String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
    JSONObject jsonObj = JSONObject.fromString(jsonStr);
    String username = jsonObj.getString("username");
    String password = jsonObj.optString("password");
    System.out.println("json--->java\n username=" + username + "\t password=" + password);
}


public static void javaToJSON() {
    System.out.println("java代码封装为json字符串");
    JSONObject jsonObj = new JSONObject();
    jsonObj.put("username", "张三");
    jsonObj.put("password", "123456");
    System.out.println("java--->json \n" + jsonObj.toString());
}
public static void javaBeanToJSON() {
    System.out.println("javabean转json字符串");
    UserInfo userInfo = new UserInfo();
    userInfo.setUsername("张三");
    userInfo.setPassword("123456");
    JSONObject json = JSONObject.fromBean(userInfo);
    System.out.println("javabean--->json \n" + json.toString());
}


  • 发表于 2017-11-17 10:26
  • 阅读 ( 1423 )
  • 分类:Java

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
HJ社区-肖峰

IT

29 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章