JSONObject

import com.songfayuantools.entity.UserInfo;

import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

注意: son字符串和json数组的区别。 (jsonArray)
1.JSONObject与JSONArray使用的区别;

想通过键值对的形式获取数据,使用JSONObject。
如果后台查询的是某个bean的list集合向前端页面传递,使用JSONArray。

/**
 * 描述:JSONObject使用方法详解
 *     JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。
 * @author cj
 */
public class Json {

    /**
     * 描述:json字符串转java代码
    * @author cj
     */
    public static void jsonToJava() {
        System.out.println("json字符串转java代码");
        String jsonStr = "{\"password\":\"123456\",\"username\":\"小狗\"}";
        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
        String username = jsonObject.getString("username");
        String password = jsonObject.getString("password");
        System.err.println("json--->java \n username="+username+"\t passwor="+password);
    }

    /**
     * 描述:java代码封装为json字符串
     * @author cj
     */
    public static void javaToJSON() {
        System.out.println("java代码封装为json字符串");
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("username", "小狗");
        jsonObject.put("age", 24);
        jsonObject.put("sex", "男");
        System.out.println("java--->json \n " + jsonObject.toString());
    }

    /**
     * 描述:json字符串转xml字符串
    * @author cj
     */
    public static void jsonToXML() {
        System.out.println("json字符串转xml字符串");
        String jsonStr = "{\"username\":\"小狗\",\"password\":\"123456\",\"age\":\"24\"}";
        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
        XMLSerializer xmlSerializer = new XMLSerializer();
        xmlSerializer.setRootName("user_info");
        xmlSerializer.setTypeHintsEnabled(false);
        String xml = xmlSerializer.write(jsonObject);
        System.out.println("json--->xml \n" + xml);
    }

    /**
     * 描述:xml字符串转json字符串
     * @author cj
     */
    public static void xmlToJSON() {
        System.out.println("xml字符串转json字符串");
        String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><user_info><password>123456</password><username>宋发元</username></user_info>";
        XMLSerializer xmlSerializer = new XMLSerializer();
        JSON json = xmlSerializer.read(xml);
        System.out.println("xml--->json \n" + json.toString());
    }

    /**
     * 描述:javaBean转json字符串
     * @author 
     * 2017年8月2日下午3:39:10
     */
    public static void javaBeanToJSON() {
        System.out.println("javaBean转json字符串");
        UserInfo userInfo = new UserInfo();
        userInfo.setUsername("cj");
        userInfo.setPassword("123456");
        JSONObject jsonObject = JSONObject.fromObject(userInfo);
        System.out.println("JavaBean-->json \n" + jsonObject.toString());
    }

    /**
     * 描述:javaBean转xml字符串
     * @author songfayuan
     * 2017年8月2日下午3:48:08
     */
    public static void javaBeanToXML() {
        System.out.println("javaBean转xml字符串");
        UserInfo userInfo = new UserInfo();
        userInfo.setUsername("songfayuan");
        userInfo.setPassword("66666");
        JSONObject jsonObject = JSONObject.fromObject(userInfo);
        XMLSerializer xmlSerializer = new XMLSerializer();
        String xml = xmlSerializer.write(jsonObject, "UTF-8");
        System.out.println("javaBean--->xml \n" + xml);
    }

    public static void main(String args[]) {
//      jsonToJava();
//      javaToJSON();
//      jsonToXML();
//      xmlToJSON();
//      javaBeanToJSON();
        javaBeanToXML();
    }

}

实体
package com.songfayuantools.entity;

/**
 * 描述:实体
 * 
 * @author cj
 */
public class UserInfo {
    public String username;
    public String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值