JSON

Json学习应用

字号+ 作者:H5之家 来源:H5之家 2015-10-30 19:06 我要评论( )

Json应用 由于懂味项目的需要、我这两天开始了开始了JSon的学习和应用、对于这个JSon,最初自己是什么都不懂、甚至都不知道它是应用到什么地方。没办法、做软件开发的就是这样:一个项目给你、即使你什么都不懂,都要很快地把它学习和应用。 按照以往常用的


                  Json应用
   由于懂味项目的需要、我这两天开始了开始了JSon的学习和应用、对于这个JSon,最初自己是什么都不懂、甚至都不知道它是应用到什么地方。没办法、做软件开发的就是这样:一个项目给你、即使你什么都不懂,都要很快地把它学习和应用。
   按照以往常用的方法、从百度上一个一个地找;看文档、读博客...慢慢地发现所有的文档、博客都是源自一个人的。就这样慢慢地查看了各个网页的资料后。(查看资料的过程不是想象的那么容易、一个个网页下来,眼珠子都快掉下来了。而且这个过程就花了我一天左右的时间)选择了一个最为详细的博客作为参考、然后按照其步骤走下去。
   值得庆幸的是按模板走的过程非常顺利、之前按李雄志和魏垚他们给资料走、走个几个过程都没有成功。有了这个成功的案列后、我就开始一步步查看案列,分析其中的过程。分析完后才发现原来Json就是个纸老虎。像hu总说的那样、跟其他的没什么两样。只是一种格式而已。
   下面我就详细分析下它的应用过程吧:最开始、我们在运用前需要下载好Json的包、我应用时下载了好几个包、还没了解每个包相应的作用。怕麻烦的话、我把它附在后面,有需要可以下载使用。包的应用最好是复制到lib目录下;之前的那种引入包的方法在这里会有问题。建议自己复制。好了、前期的准备工作好了后、下面我们开始新建一个Servlet类、里面有自动生成的DoPost方法和DoGet方法;我们应用时先在DoPost方法里调用DoGet方法、代码如下:

doGet(request,response);

然后我们就重点在DoGet方法里实现数据转换Json方法;代码如下、

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置字符编码 response.setContentType("text/plain;UTF-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); //准备用户数据 DBInquire inquire=new DBInquire(); //进入数据库 DbEntrance mysql=new DbEntrance(); inquire.conn=mysql.getDBConnect(); list=inquire.selectUser(); //实例化一个JSON数据,用来存储用户数据 JSONArray array=new JSONArray(); //遍历链表,将数据一个个转移到JSON链表中 for(int i=0;i<list.size();i++){ System.out.println("打印出数据库中的数据:"+list.get(i).getUName()+"-=-="+list.get(i).getUPwd()); //实例化一个JSON对象,用来存储用户数据 JSONObject obj = new JSONObject(); //存储用户名 obj.put("User",list.get(i).getUName()); //存储用户密码 obj.put("Pwd", list.get(i).getUPwd()); //存储用户电话 obj.put("tel",list.get(i).getUNumber()); //存储用户电子邮件 obj.put("email", list.get(i).getUEmail()); //添加到JSON链表中 array.add(obj); } //输出 out.write(array.toString()); out.flush(); out.close(); }

在这里使用的需要注意的是有关我们数据库的连接问题:有关密码,每个人的数据库密码是不一样的;然后将其部署到服务器上、关于怎么部署就是点击所建的servlet右键运行就好、然后在网页上以键值对形式显示数据库中的形式。

   接着就是Android端的接收情况了、我们新建一个Android项目,在layout布局里面建一个TextView 代码如下:

<TextView android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="fill_parent"/>

布局用于显示所接收的数据。然后回到MainActivity里、进行地址连接,这里需要注意的是:1、连接网络地址,2、接收时关于对应的Key值。代码如下:

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("-=-=-=-=-=-="); setContentView(R.layout.activity_main); System.out.println("8888888888888888888"); try{ StringBuffer sb = new StringBuffer(); //在测试过程中,经常是用本机做测试服务器,访问本机的IP地址要设置为10.0.2.2 String url = "http://10.0.2.2:8080/Coupons/JsonServletAndroid"; String body = getContent(url); JSONArray array = new JSONArray(body); System.out.println("所得Json的长度是:"+array.length()); for(int i=0; i<array.length(); i++){ System.out.println("标记符11111111111111111111"); JSONObject obj = array.getJSONObject(i); System.out.println("打印出第"+i+"个数据是:"+obj.getInt("User")+"-=-"+obj.getInt("Pwd")); sb.append("tel:").append(obj.getString("tel")).append("/r"+"/n"); sb.append("name:").append(obj.getString("User")).append("/r"+"/n"); sb.append("pwd:").append(obj.getString("Pwd")).append("/t"); sb.append("email:").append(obj.getString("email")).append("/r/n"); sb.append("----------------------/r/n"); } TextView textView = (TextView)findViewById(R.id.textView); textView.setText(sb.toString()); }catch(Exception e){} }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php CI 实战教程:[5]用curl获取json并解析

    php CI 实战教程:[5]用curl获取json并解析

    2016-02-26 17:00

  •  JSON入门级学习总结-JSON数据结构

    JSON入门级学习总结-JSON数据结构

    2016-02-25 11:05

  • Android解析Json速度最快的库:json

    Android解析Json速度最快的库:json

    2016-02-13 18:00

  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

网友点评
m