JSON

json学习与cjson

字号+ 作者:H5之家 来源:H5之家 2017-11-09 09:01 我要评论( )

json学习与cjson-lua_辉李不可_新浪博客,辉李不可,

json(JavaScript Object Notation) 是一种轻量级的数据交换格式。


一、两种结构

1、 "名称/值",无序 #key/value { key:value, ...}

2、 "值的有序列表" #数组(array) [value, ...]


二、值(value)的类型

1、string ""

2、number

3、true/false

4、null

5、对象(object)

6、数组(array)



~mark/software/lua-cjson-manual.html

cjson:

解码(decode): #json -> lua

> json_text = '[true, {"foo":"bar"}]'

> lua_value = cjson.decode(json_text)  => Returns: {true, {foo="bar"}}


编码(encode): #lua -> json

> lua_value = {true, {foo="bar"}} 

> json_text = cjson.encode(lua_value)  => Returns: '[true, {"foo":"bar"}]'


===============================

> temp.k = 100000000000000

> print(temp.k)

1e+14

> temp.k = 99999999999999

> print(temp.k)

99999999999999

> for k, v in pairs(temp) do

>> print(k, v)

>> end

k       99999999999999

v       1000

bbs     10000

> print(cjson.encode(temp))

{"k":99999999999999,"v":1000,"bbs":10000}



> print(cjson.encode_sparse_array())

false   2       10

> print(cjson.encode {[11] = "data"})

stdin:1: Cannot serialise table: excessively sparse array

stack traceback:

        [C]: in function 'encode'

        stdin:1: in main chunk

        [C]: at 0x004040c0


> print(cjson.encode_sparse_array(true))

true    2       10

> print(cjson.encode {[11] = "data"})

{"11":"data"}

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评