探索JSON格式封装的使用方法

开发
一直都只有看到从JSON格式封装读取数据到Flex app中然后显示在DataGrid控件中。还很少见到从Flex app中的Datagrid取得数据写回数据库的例子。

在JSON格式封装应用程序中处理完数据后,可以将数据返回 PHP 脚本并用 json_decode() 重新创建可用的对象数据结构,然需要按照json格式解码等,后面在介绍。接着看看那个更新数据的方法。

在网上搜索了找到一篇用JSON格式封装方法:具体请参考:Using Flex, PHP, and JSON to Modify a MySQL Database。写的非常的简单明白,可惜的是自己没学过PHP。无法按照例子上完整的去实现,所以我把它更改用Java-Json的方法来实现同样的功能。

首先来看下这个例子的界面功能设计:包含一个dataGrid控件,两个按钮(读取和更新数据)以及一个Label控件用来提示用户操作的结果。dataGrid包含四个列:员工的编号,姓名,性别以及部门。其中姓名这个列是可以编辑修改的:编辑后通过检查后,按更新按钮更新数据库。#t#

接着来看下工作流程:Flex app是通过JSON格式封装方式与后台的java bean沟通的,然后在由java bean连接mysql database,读取或更新数据。然后返回给flex app. 由于使用blazeDS,flex app可以直接调用java 的方法,所以发送请求和接受数据都变的简单了。

那么,我门开始工作了。首先,创建一个数据库:在mysql提示框中输入以下的SQL就可以创建一个简单的员工信息资料表。我们来先看看那后台java bean的处理:他要接受flex app的读取数据和更新数据的请求,而且他们之间的数据传递格式采用的是json.所以我们的JSON格式封装的一个框架结构应该是:

  1. public class JsonGrid {  
  2.     private Connection con = null;  
  3.     private String myDriver = "com.mysql.jdbc.Driver";  
  4.     private String conURL = "jdbc:mysql://localhost:3306/test";  
  5.     private String userName = "root";  
  6.     private String userPass = "12345";  
  7.        
  8.     public Connection conToDB(){  
  9.          try{  
  10.              Class.forName(myDriver);  
  11.              con = DriverManager.getConnection(conURL,userName,userPass);  
  12.          }catch(Exception e){  
  13.              e.printStackTrace();  
  14.          }  
  15.          return con;  
  16.      }  
  17.     public String getJsonArray(){  
  18.         String resultnew String();          
  19.         return result;  
  20.     }  
  21.     public String sendJsonArray(String jsonData){  
  22.         String resultnew String();  
  23.      return result;   
  24.     }  

里面包含了两个重要的方法(getJsonArray()和sendJsonArray())分别对应flex app的读取数据和更新数据的请求。在getJsonArray()方法中,要连接数据库,取得员工的信息资料,然后按照json格式封装数据,结果返回给flex app,由flex app中的datagrid显示出来。

责任编辑:chenqingxiang 来源: 清华大学出版社
相关推荐

2010-01-06 10:18:02

JSON类

2010-01-06 14:04:55

Json数据格式

2011-02-24 13:09:10

FireFTP

2012-01-13 09:55:54

jQuery

2009-12-24 16:36:06

WPF InkCanv

2010-10-08 16:01:17

mysql UPDAT

2013-07-15 15:12:40

iOS多线程NSOperationNSOperation

2009-12-02 16:04:44

PHP fsockop

2019-07-22 08:49:37

PythonJSON编程语言

2010-11-19 09:56:38

SQLiteAndroid

2009-12-02 18:51:12

PHP分页类

2023-01-06 08:55:00

2010-03-04 10:44:04

Linux ftp命令

2009-08-25 16:54:28

C# RichText

2024-05-21 11:09:17

2013-07-17 10:34:36

Ubuntu软件管理

2010-05-28 19:12:09

MySQL使用方法

2009-12-28 13:28:03

WPF视频

2011-04-08 10:43:44

2017-08-18 14:01:44

大数据dataWrangle
点赞
收藏

51CTO技术栈公众号