日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Json入门

發布時間:2024/1/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Json入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考《瘋狂android講義》》730頁


JSON的基礎請參考W3SCHOOL的教程:

http://www.w3school.com.cn/json/index.asp


例子:

http://wenku.baidu.com/link?url=A5SiKBUNVx-aB_hFiDuHsEN1uw_Vu4a9ODRq7G-SpiY-qW11Ve8Ba8ym9TfheAUuHJhYgdD3g05lvGNWrPBzf7JZFhUlAcZYb0MMIdrcmp3

1、創建服務器端:

(1)創建對象類

package com.ljh.jsondemo.model;public class User {public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}private int id;private String name;private String email;private String gender; }


(2)創建json的提供類

package com.ljh.jsondemo.servlet;import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.json.JSONArray; import org.json.JSONObject;import com.ljh.jsondemo.model.User;public class JsonDemoServlet extends HttpServlet {private static final long serialVersionUID = -7368225680407826408L;private List<User> list;/** * 處理post方式提交的數據 */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}/** * 處理get方式提交的數據 */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/plain");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();// 準備用戶數據prepareData();// JSON數組JSONArray array = new JSONArray();for (User bean : list) {// 單個用戶JSON對象JSONObject obj = new JSONObject();try {obj.put("id", bean.getId());obj.put("name", bean.getName());obj.put("email", bean.getEmail());obj.put("gender", bean.getGender());}catch (Exception e) {}array.put(obj);}// 輸出out.write(array.toString());out.flush();out.close();}private void prepareData() {list = new ArrayList<User>();User bean1 = new User();bean1.setId(1001);bean1.setName("Tony");bean1.setEmail("");bean1.setGender("male");list.add(bean1);User bean2 = new User();bean2.setId(1002);bean2.setName("Jack");bean2.setEmail("");bean2.setGender("male");list.add(bean2);User bean3 = new User();bean3.setId(1003);bean3.setName("Marry");bean3.setEmail("");bean3.setGender("female");list.add(bean3);User bean4 = new User();bean4.setId(1004);bean4.setName("Linda");bean4.setEmail("");bean4.setGender("female");list.add(bean4);}}
2、創建android客戶端

注意要添加訪問internet的權限。

package com.ljh.jsondemoclient;import java.io.BufferedReader; import java.io.InputStreamReader;import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.json.JSONArray; import org.json.JSONObject;import android.os.Bundle; import android.app.Activity; import android.widget.TextView;public class MainActivity extends Activity {private String getContent(String url) throws Exception {StringBuilder sb = new StringBuilder();HttpClient client = new DefaultHttpClient();HttpParams httpParams = client.getParams();// 設置網絡超時參數HttpConnectionParams.setConnectionTimeout(httpParams, 3000);HttpConnectionParams.setSoTimeout(httpParams, 5000);HttpResponse response = client.execute(new HttpGet(url));HttpEntity entity = response.getEntity();if (entity != null) {System.out.println("test!!!!");BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"), 8192);String line = null;while ((line = reader.readLine()) != null) {sb.append(line + "\n");}reader.close();}return sb.toString();}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);try {StringBuffer sb = new StringBuffer();// 在測試過程中,經常是用本機做測試服務器,訪問本機的IP地址要設置為10.0.2.2String url = "192.168.136.133:8080/JsonDemoServer/JsonDemoServlet";String body = getContent(url);JSONArray array = new JSONArray(body);for (int i = 0; i < array.length(); i++) {JSONObject obj = array.getJSONObject(i);sb.append("id:").append(obj.getInt("id")).append("\t");sb.append("name:").append(obj.getString("name")).append("\r\n");sb.append("gender:").append(obj.getString("gender")).append("\t");sb.append("email:").append(obj.getString("email")).append("\r\n");sb.append("----------------------\r\n");}TextView textView = (TextView) findViewById(R.id.tv_json_content);textView.setText(sb.toString());} catch (Exception e) {}} }

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Json入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。