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){}
}
分享到:
相关推荐
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,但其实它是语言无关的,有独立的规范,并且可以被许多编程语言解析和生成。以下...
通过深入学习JSON,不仅可以提升Web开发的效率,还能更好地理解和利用现代Web应用中的数据交换机制。通过阅读“JSON.mht”和“JSON”这两个文件,你应该能够获取更多关于JSON的实际应用和案例分析,进一步提升你的...
在这个"json学习资料"的压缩包中,我们可能会找到与Java开发相关的JSON处理示例和代码。 在Java中,处理JSON的主要库有Jackson、Gson和org.json等。这些库提供了方便的方法来解析JSON字符串,将其转换为Java对象,...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁、易读、易解析的特性,被广泛应用于各种编程语言间的数据传输。它源于JavaScript编程语言的一个子集,符合ECMA262第三版规范。尽管...
9. **进阶应用**:进一步的JSON RPC开发可能涉及自定义对象序列化器(如`PersonSerializer`)、枚举的序列化(因为早期的JSON库不支持枚举)、异步调用(通过传递回调函数实现)以及客户端异常处理和Session超时管理...
### JSON学习笔记:深入理解与应用 #### 一、JSON简介与重要性 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于ECMAScript的一个子集,采用...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。...通过学习和实践这些示例,可以更好地理解和掌握JSON在实际中的应用。
通过对这些源代码的学习,开发者可以深入理解如何在Delphi中有效地使用JSON,从而提高数据处理效率,并与Web服务或其他使用JSON的应用程序进行无缝通信。通过实践和调试这些代码,你将能够掌握Delphi与JSON交互的...
### WCF返回JSON学习笔记 #### 一、WCF与JSON简介 - **WCF (Windows Communication Foundation)**:是微软开发的一个框架,用于构建服务导向的应用程序。它提供了多种通信协议的支持,包括HTTP、TCP等,并且支持...
JSON的学习涉及其基本语法、JSONObject和JSONArray的使用,以及在JavaScript中的解析方法。理解这些知识点对于开发Web应用至关重要,无论你是服务器端开发者还是前端开发者。正确地处理和解析JSON数据能有效提升应用...
解析和生成JSON是JSON学习中的关键技能。在JavaScript中,你可以使用`JSON.parse()`函数将JSON字符串转换为JavaScript对象,而`JSON.stringify()`函数则用于将JavaScript对象转换为JSON字符串。其他编程语言如Python...
在实际应用中,JSON常用于Web服务的通信,如创建Web工程,并在服务器端创建处理JSON请求的对象。例如,创建一个`Hello.java`服务端对象,实现序列化方法,然后在JSP页面中发起HTTP请求,获取或发送JSON数据。 当...
在学习 JSON Schema 时,需要理解什么是模式, JSON Schema 的基本类型,如何使用 JSON Schema 等。 什么是模式? 模式(Schema)可以理解为一种模式或者规则,用于定义 JSON 数据结构的结构和约束。 JSON Schema ...
LabVIEW是一种图形化编程语言,广泛应用于数据采集、测试测量和控制系统等领域。在与现代网络服务和应用...通过学习和理解这个示例,用户可以更好地掌握LabVIEW与JSON之间的转换技巧,提升其在实际项目中的应用能力。
通过学习《使用Delphi开发分散式JSON应用系统》,读者不仅可以掌握Delphi的基本用法,还能深入了解分布式系统的设计与实现,以及如何利用JSON这一流行的数据交换格式提高应用的效率和灵活性。对于希望提升Delphi技能...
通过深入学习这三种技术,开发者可以更好地理解JSON在Java中的应用,并根据项目需求灵活选择合适的方法来处理JSON数据。这些技能对于任何Java Web开发者来说都是必不可少的。在提供的压缩包文件中,可能包含了示例...
JSON被广泛应用于服务器与JavaScript之间的数据交互,尤其是在AJAX(Asynchronous JavaScript and XML)应用程序中,因为其格式与JavaScript对象语法高度相似,使得在JavaScript中处理JSON数据变得十分直观。...
6. **易用性**:`net.sf.json`的API设计直观且易于使用,降低了开发者学习和使用JSON的门槛。 在你的压缩包`NetSfJsonjar_jb51`中,包含了`net.sf.json`库的相关JAR文件,这些文件是运行依赖于`net.sf.json`的Java...
在本文中,我们将深入探讨“Spring MVC JSON学习”这一主题,重点关注如何在Spring MVC应用中处理JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁性和易读性而被广泛应用。 ...