我是靠谱客的博主 勤恳早晨,最近开发中收集的这篇文章主要介绍java传json给其他项目_JAVA中使用JSON进行数据传递,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作。

其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据。

首先,在JAVA中使用JSON需要引入 org.json 包(点击 这里 可以下载相应的JAR包!), 并在程序中引入相应的JSON类:

1 importorg.json.JSONArray;2 importorg.json.JSONException;3 import org.json.JSONObject;

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

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

Map params = newHashMap();

params.put("username", username);

params.put("user_json", user);//声明JSONArray对象并输入JSON字符串

JSONArray array =JSONArray.fromObject(params);

put.println(array.toString());

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

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

String result = "[{"username": "your name", "user_json": {"username": "your name", "nickname": "your nickname"}}]";//根据字符串生成JSON对象

JSONArray resultArray = newJSONArray(result);

JSONObject resultObj= resultArray.optJSONObject(0);//获取数据项

String username = resultObj.getString("username");//获取数据对象

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

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

其实,主要就是涉及到以下几种数据类型之间的转换:

1. String 转换为JSON对象

importorg.json.JSONArray;importorg.json.JSONException;importorg.json.JSONObject;//别忘了添加上JSON包哦!

public classStringToJSON {public static void main(String[] args) throwsJSONException{

System.out.println("abc");//定义JSON字符串

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

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

""config": {" +

""width": 34," +

""height": 35," +

"}, "data": [" +

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

"]}";//转换成为JSONObject对象

JSONObject jsonObj = newJSONObject(jsonStr);//从JSONObject对象中获取数据

JavaBean bean = newJavaBean();//根据属性名称获取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[]);

}

}

}classJavaBean{private intid ;privateString title;private intwidth;private intheight;privateString[] languages;//这里省略了设置器和访问器

}

2. JSON对象转换为String字符串

public static void main(String[] args) throwsJSONException {//创建JSONObject对象

JSONObject json = newJSONObject();//向json中添加数据

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

json.put("height", 12.5);

json.put("age", 24);//创建JSONArray数组,并将json添加到数组

JSONArray array = newJSONArray();

array.put(json);//转换为字符串

String jsonStr =array.toString();

System.out.println(jsonStr);

}

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

3.集合转换为JSONArray对象

public static void main(String[] args)throwsJSONException{//初始化ArrayList集合并添加数据

List list = new ArrayList();

list.add("username");

list.add("age");

list.add("sex");//初始化HashMap集合并添加数组

Map map = newHashMap();

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

map.put("price", 69.0);//初始化JSONArray对象,并添加数据

JSONArray array = newJSONArray();

array.put(list);

array.put(map);//生成的JSON字符串为:[["username","age","sex"],{"price":69,"bookname":"CSS3实战"}]

}

最后

以上就是勤恳早晨为你收集整理的java传json给其他项目_JAVA中使用JSON进行数据传递的全部内容,希望文章能够帮你解决java传json给其他项目_JAVA中使用JSON进行数据传递所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部