java中json声明_JAVA中的JSON

1、在服务器端的Servlet类中,可以使用如下方法收集数据并生成相应的JSON字符串

//声明一个Hash对象并添加数据

Map params = new HashMap();

params.put("username", username);

params.put("user_json", user);

//声明JSONArray对象并输入JSON字符串

JSONArray array = JSONArray.fromObject(params);

put.println(array.toString());

2、在WEB前端可以通过javascript直接对JSON字符串进行解析,在Android客户端的话,需要使用JSON类来解析字符串:

//@description: 根据接收到的JSON字符串来解析字符串中所包含的数据和数据对象

//接收到的JSON字符串

String result = "[{\"username\": \"your name\", \"user_json\": {\"username\": \"your name\", \"nickname\": \"your nickname\"}}]";

//根据字符串生成JSON对象

JSONArray resultArray = new JSONArray(result);

JSONObject resultObj = resultArray.optJSONObject(0);

//获取数据项

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

//获取数据对象

JSONObject user = resultObj.getJSONObject("user_json");

String nickname = user.getString("nickname");

3、数据类型之间的转换

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

//别忘了添加上JSON包哦!

public class StringToJSON {

public static void main(String[] args) throws JSONException{

System.out.println("abc");

//定义JSON字符串

String jsonStr = "{\"id\": 2," +

" \"title\": \"json title\", " +

"\"config\": {" +

"\"width\": 34," +

"\"height\": 35," +

"}, \"data\": [" +

"\"JAVA\", \"JavaScript\", \"PHP\"" +

"]}";

//转换成为JSONObject对象

JSONObject jsonObj = JSONObject.fromObject(jsonStr);

//从JSONObject对象中获取数据

JavaBean bean = new JavaBean();

//根据属性名称获取int型数据;

bean.setId(jsonObj.getInt("id"));

//根据属性名获取String数据;

bean.setTitle(jsonObj.getString("title"));

//根据属性名获取JSONObject类

JSONObject config = jsonObj.getJSONObject("config");

bean.setWidth(config.getInt("width"));

bean.setHeight(config.getInt("height"));

//根据属性名获取JSONArray数组

JSONArray data = jsonObj.getJSONArray("data");

for(int index = 0, length = data.length(); index < length; index++) {

//这里在org.json.JSONArray对象中居然没有找到toArray方法,求各位网友给出解决办法啊!

// bean.setLanguages(String[]);

}

}

}

class JavaBean{

private int id ;

private String title;

private int width;

private int height;

private String[] languages;

//这里省略了设置器和访问器

}

4、JSON对象转换为String字符串

public static void main(String[] args) throws JSONException {

//创建JSONObject对象

JSONObject json = new JSONObject();

//向json中添加数据

json.put("username", "wanglihong");

json.put("height", 12.5);

json.put("age", 24);

//创建JSONArray数组,并将json添加到数组

JSONArray array = new JSONArray();

array.put(json);

//转换为字符串

String jsonStr = array.toString();

System.out.println(jsonStr);

}

最终输出结果为: [{"username":"wanglihong","height":12.5,"age":24}]

5、集合转换为JSONArray对象

public static void main(String[] args)throws JSONException{

//初始化ArrayList集合并添加数据

List list = new ArrayList();

list.add("username");

list.add("age");

list.add("sex");

//初始化HashMap集合并添加数组

Map map = new HashMap();

map.put("bookname", "CSS3实战");

map.put("price", 69.0);

//初始化JSONArray对象,并添加数据

JSONArray array = new JSONArray();

array.put(list);

array.put(map);

//生成的JSON字符串为:[["username","age","sex"],{"price":69,"bookname":"CSS3实战"}]

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值