simplejson模块介绍

      simplejson模块主要用于将Python数据类型和json类型互相转换。
      JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON采用独立于语言的文本格式,但是也使用了类似C语言家族的习惯(包括C,C++,C#,Java,Python等)。这些特性使JSON称为理想的数据交换语言。
json有两种结构:
1,名称/值 的形式。在python中就是字典的结构

2,值的有序列表。简单点就是数组结构,在python中类似于列表结构

json的语法形式:
1,对象是一个无序的“‘名称(name)/值(value)’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

eg:{"cynthia":"is testing","name":"cynthia","age":18,"hobby":["reading",18]}
不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 


2,对象是一个数组,数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

eg:["cynthia","is testing","age",18,["reading",18]]
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)以及这些结构的嵌套。
名称(name)是用双引号括起来的字符串。

simplejson的主要函数:
dumps():将python字典json化。
dump();对文件对象的处理。
loads():解析json字符串。
 def StudyMainFunc() 
    txtDict = {"name": "simplejson" , "version": 3.8}
    #dumps():将Python字典json化
    print simplejson.dumps(txtDict)
    #dump():将Python字典json化并写入txt文件中
    with open("D:\\json.txt", "wb") as fp:
        simplejson.dump(txtDict, fp)
    #loads():解析json字符串
    if simplejson.loads('{"name": "simplejson" , "version": 3.8}') == txtDict:
        print "parse json string"
    #load():解析内容是json字符串的txt文件
    with open("D:\\json.txt", "rb") as fp:
        if simplejson.load(fp) == txtDict:
            print "parse json string"
在json的编码过程中,会存在从python原始类型向json类型的转化过程,具体的转化对照如下:
simplejson模块介绍_第1张图片
def JsonTranslations():
    txtDict = {"object": {"python": 2.7} , "array1": (1.0, 2.0), "array2": [1.0, 2.0],"string" : "string", 
               "int" : 1, "real" :2.6, "true" : True, "false" : False, "null": None}
    print simplejson.dumps(txtDict)
    print simplejson.loads("%s" %simplejson.dumps(txtDict))


你可能感兴趣的:(simplejson模块介绍)