java org.json 用法_org.json的用法

搜索热词

闲话少说,通过实例简单介绍一下org.json的用法,用到的jar包是json-20090211.jar

package com.ilucky.util.orgjson;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

/**

* 重点:JSONObject对应集合Map,JSONArray对应集合List.

* 用json类(fastjson和orgjson)库处理复杂的集合时,要将集合直接放到value处,不能将其转换为json字符串放到value处,* 如果将其转换为字符串放到value处,最终生成的json字符串会带有转义字符.

* @author IluckySi

* @since 20150407

*/

public class OrgjsonUtil {

public static void main(String[] args) {

try {

//JSONObject的用法.

System.out.println("-----test1-----");

testJsonObject();

//JSONArray的用法.

System.out.println("-----test2-----");

testJsonArray();

//JSONObject,JSONArray和集合的复杂用法.

System.out.println("-----test3-----");

testComplex();

//JSONObject,JSONArray和集合的复杂用法.

System.out.println("-----test4-----");

testComplex2();

} catch (Exception e) {

System.out.println("测试发生异常: " + e);

}

}

public static void testJsonObject() throws JSONException {

JSONObject jo = new JSONObject();

jo.put("username","IluckySi");

jo.put("age",27);

jo.put("sex",true);

Map skill = new HashMap();

skill.put("java","不错");

skill.put("javascript","凑合");

skill.put("jquery","挺好");

jo.put("skill",skill);

String username = jo.getString("username");

int age = jo.getInt("age");

boolean sex = jo.getBoolean("sex");

JSONObject skill2 = new JSONObject(jo.getString("skill"));

System.out.println(username + ",年龄 = " + age + ",性别 = " + (sex == true ? "男" : "女") + ",技能如下:");

String[] names = JSONObject.getNames(skill2);

for(String name : names) {

System.out.println(name + ": " + skill2.getString(name));

}

}

public static void testJsonArray() throws JSONException {

JSONArray ja = new JSONArray();

JSONObject jo = new JSONObject();

jo.put("username",true);

ja.put(jo);

JSONObject jo2 = new JSONObject();

jo2.put("username","IluckySi2");

jo2.put("age",28);

jo2.put("sex",false);

ja.put(jo2);

for(int i = 0; i < ja.length(); i++) {

JSONObject j = (JSONObject)ja.get(i);

String username = j.getString("username");

int age = j.getInt("age");

boolean sex = j.getBoolean("sex");

System.out.println(username + ",性别 = " + (sex == true ? "男" : "女"));

}

}

public static void testComplex() throws JSONException {

JSONObject jo = new JSONObject();

jo.put("result","success");

List> list = new ArrayList>();

Map user1 = new HashMap();

user1.put("name","name1");

user1.put("password","password1");

list.add(user1);

Map user2 = new HashMap();

user2.put("name","name2");

user2.put("password","password2");

list.add(user2);

jo.put("message",list);

String send = jo.toString();

System.out.println("要测试的消息" + send);

send(send);

}

private static void send(String send) throws JSONException {

JSONObject jo = new JSONObject(send);

String result = jo.getString("result");

System.out.println("result=" + result);

JSONArray ja = new JSONArray(jo.getString("message"));

for(int i = 0; i < ja.length(); i++) {

JSONObject j = (JSONObject)ja.get(i);

String name = j.getString("name");

String password = j.getString("password");

System.out.println("name = " + name + ",password = " + password);

}

}

public static void testComplex2() throws JSONException {

JSONObject jo = new JSONObject();

jo.put("result","success");

JSONObject message = new JSONObject();

List

list.add(user2);

message.put("message",list);

jo.put("message",message.toString());//注意:如果直接写message,也不会有转义字符.

String send = jo.toString();

System.out.println("要测试的消息" + send);

send2(send);

}

private static void send2(String send) throws JSONException {

JSONObject jo = new JSONObject(send);

String result = jo.getString("result");

System.out.println("result=" + result);

JSONObject message = new JSONObject(jo.getString("message"));

JSONArray message2 = new JSONArray(message.getString("message"));

for(int i = 0; i < message2.length(); i++) {

JSONObject j = (JSONObject)message2.get(i);

String name = j.getString("name");

String password = j.getString("password");

System.out.println("name = " + name + ",password = " + password);

}

}

}

/**

输出结果:

-----test1-----

IluckySi,年龄 = 27,性别 = 男,技能如下:

javascript: 凑合

java: 不错

jquery: 挺好

-----test2-----

IluckySi,性别 = 男

IluckySi2,年龄 = 28,性别 = 女

-----test3-----

要测试的消息{"message":[{"name":"name1","password":"password1"},{"name":"name2","password":"password2"}],"result":"success"}

result=success

name = name1,password = password1

name = name2,password = password2

-----test4-----

要测试的消息{"message":"{\"message\":[{\"name\":\"name1\",\"password\":\"password1\"},{\"name\":\"name2\",\"password\":\"password2\"}]}",password = password2

*/

相关文章

总结

以上是编程之家为你收集整理的org.json的用法全部内容,希望文章能够帮你解决org.json的用法所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值