Android开发中,我们常常需要将JSON数组作为数据源传递给后台或前端,请看以下示例:
[ { "name": "张三","age": 20,"hobbies": ["reading","running"] },{ "name": "李四","age": 25,"hobbies": ["swimming","traveling"] } ]
在Android中,我们可以使用JSONObject和JSONArray类来构建和解析JSON数组。以下是JSON数组的构建示例:
JSONArray jsonArray = new JSONArray(); JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("name","张三"); jsonObject1.put("age",20); JSONArray hobbies1 = new JSONArray(); hobbies1.put("reading"); hobbies1.put("running"); jsonObject1.put("hobbies",hobbies1); jsonArray.put(jsonObject1); JSONObject jsonObject2 = new JSONObject(); jsonObject2.put("name","李四"); jsonObject2.put("age",25); JSONArray hobbies2 = new JSONArray(); hobbies2.put("swimming"); hobbies2.put("traveling"); jsonObject2.put("hobbies",hobbies2); jsonArray.put(jsonObject2);
以上示例中,我们先创建一个空的JSON数组,然后构建两个学生的JSON对象,分别将它们添加到JSON数组中。
接下来是将JSON数组作为数据源传递的示例:
String url = "http://www.example.com/data"; StringRequest request = new StringRequest(Request.Method.POST,url,new Response.Listener() { @Override public void onResponse(String response) { // 处理响应 } },new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // 处理错误 } }) { @Override public byte[] getBody() throws AuthFailureError { return jsonArray.toString().getBytes();// 将JSON数组转为字节数组 } @Override public Map getHeaders() throws AuthFailureError { Map headers = new HashMap(); headers.put("Content-Type","application/json; charset=utf-8");// 指定请求头为JSON格式 return headers; } }; queue.add(request);// 将请求加入请求队列
以上示例中,我们使用Volley库创建了一个POST请求,并将JSON数组作为请求体发送给后端。
通过以上示例,我们可以看出Android开发中传递JSON数组的方式非常简单。只要使用JSONObject和JSONArray类创建和解析JSON数组,再将其转为字节数组作为请求体发送即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。