探索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格式封装的一个框架结构应该是:

public class JsonGrid {  
    private Connection con = null;  
    private String myDriver = "com.mysql.jdbc.Driver";  
    private String conURL = "jdbc:mysql://localhost:3306/test";  
    private String userName = "root";  
    private String userPass = "12345";  
       
    public Connection conToDB(){  
         try{  
             Class.forName(myDriver);  
             con = DriverManager.getConnection(conURL,userName,userPass);  
         }catch(Exception e){  
             e.printStackTrace();  
         }  
         return con;  
     }  
    public String getJsonArray(){  
        String resultnew String();          
        return result;  
    }  
    public String sendJsonArray(String jsonData){  
        String resultnew String();  
     return result;   
    }  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

里面包含了两个重要的方法(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数据格式

2012-01-13 09:55:54

jQuery

2011-02-24 13:09:10

FireFTP

2009-12-02 16:04:44

PHP fsockop

2013-07-15 15:12:40

iOS多线程NSOperationNSOperation

2009-12-24 16:36:06

WPF InkCanv

2010-10-08 16:01:17

mysql UPDAT

2019-07-22 08:49:37

PythonJSON编程语言

2011-06-16 11:01:56

PHP继承

2009-12-07 16:52:59

PHP函数getima

2017-05-27 20:00:30

Python爬虫神器PyQuery

2010-05-28 18:23:27

Linux分区工具

2009-11-30 17:43:54

PHP split()

2010-08-09 10:16:01

FlexBuilder

2010-05-28 19:32:24

MySQL使用方法

2010-05-10 16:17:19

Oracle LogM

2009-12-02 18:51:12

PHP分页类

2023-01-06 08:55:00

2010-11-19 09:56:38

SQLiteAndroid
点赞
收藏

51CTO技术栈公众号