分享

JSON格式生成与JSON解析小例

 dwlinux_gs 2014-07-31

然是说json那就先简单介绍一下什么是json吧。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

json的具体数据交换格式:(存的是张飞的个人信息包括姓名、年龄、地址(城市、街道))

{"address":{"street":"和兴路","city":"哈尔滨"},"age":22,"name":"张飞"}

如何在编译器中生成改格式呢?

我们定义一个getJson()方法用于生成此种格式,代码如下:

getJson()方法

public static String getJson() throws Exception{
        String strName = "张飞";
        int niAge = 22;
        //生成一个json对象
        JSONObject json = new JSONObject();
        //向该json对象中通过put(String,Object)方法,添加属性和该属性对应的值
        json.put("name", strName);
        json.put("age", niAge);
        //json对象中的地址包括城市和街道,所以将地址定义成一个json对象
        JSONObject strAddress = new JSONObject();
        String strCity = "哈尔滨";
        String strStreet = "和兴路";
        strAddress.put("city", strCity);
        strAddress.put("street", strStreet);
        json.put("address", strAddress);
        System.out.println(json.toString());
        return json.toString();
    }

下面我们看一个方法来介绍一下,对json数据转换格式的解析:
我们定义了一个jsonParse(String strJson)的方法用于解析该格式,具体代码如下:
jsonParse(String strJson):

public static void jsonParse(String strJson) throws Exception{
        //创建json对象
        JSONObject json = new JSONObject(strJson);
        //通过json的getString(String)方法获得对应属性的属性值
        String name = json.getString("name");
        int age = json.getInt("age");
        //通过json的getJSONObject(String)方法获得此json对象中定义的json对象(就是对json的嵌套使用)
        JSONObject address = json.getJSONObject("address");
        String city = address.getString("city");
        String street = address.getString("street");
        //输入获得的json对象中属性值
        System.out.println("姓名:"+name+",年龄:"+age+",城市:"+city+",街道:"+street);
                                                                                                                                                                             
    }

我们通过一个main函数调用上面两个方法看一下具体的结果:
main函数:

public class Json {
    public static void main(String[] args) throws Exception {
        //调用getJson()方法
        String strJson = getJson();
        //调用jsonParse(String)方法
        jsonParse(strJson);
    }

输入结果为:

{"address":{"street":"和兴路","city":"哈尔滨"},"age":22,"name":"张飞"}
姓名:张飞,年龄:22,城市:哈尔滨,街道:和兴路
在实际中getJson()方法和jsonParse(String)方法应该写在类Json中,与main()方法并列,这里分开只是为了代码更加清晰的展现。

推荐阅读:

Struts中异步传送XML和JSON类型的数据 http://www./Linux/2013-08/88247.htm

Linux下JSON库的编译及代码测试 http://www./Linux/2013-03/81607.htm

jQuery 获取JSON数据[$.getJSON方法] http://www./Linux/2013-03/81673.htm

用jQuery以及JSON包将表单数据转为JSON字符串 http://www./Linux/2013-01/77560.htm

linux

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约