Json 操作
Json 类
var myJson = new Json("{"\key\":\"value\"}"); //传入json编码的字串,会自动构造
var myJson2 = new Json(); //不传值则会构造一个新Json
函数 | 描述 | 参数 | 用法 |
---|---|---|---|
add(key,value) | 添加key->value节点 | key:键值 value:数字和字符串或Json对象 | myJson.add("string","value")myJson.add("int",10)myJson.add("float",5.0)myJson.add("bool",true)myJson.add("json",otherJson) |
addObject(key) | 用key指向一个空Json节点,返回新节点 | key:键值 | var newJson = myJson.addObject("json1") |
addArray(key) | 用key指向一个空Json数组,返回新节点 | key:键值 | var newJsonArr = myJson.addArray("json2") |
push(value) | 自身是数组,在末尾添加节点 | value:数字和字符串或Json对象 | myJson.push("string")myJson.push(10)myJson.push(5.0)myJson.push(false)myJson.push(otherJson) |
pushObject() | 自身是数组,在末尾添加一个空Json节点,返回新节点 | 无 | var newJson = myJson.pushObject() |
pushArray() | 自身是数组,在末尾添加一个空Json数组,返回新节点 | 无 | var newJsonArr = myJson.pushArray() |
get(key) | 获取内容 | key:键值或数组坐标 | var value = myJson.get("key")var value = myJson.get(1) |
getInt(key) | 获取内容并转成整数 | key:键值或数组坐标 | var value = myJson.getInt("key")var value = myJson.getInt(1) |
getLong(key) | 获取内容并转成long类型 | key:键值或数组坐标 | var value = myJson.getLong("key")var value = myJson.getLong(0) |
getFloat(key) | 获取内容并转成float类型 | key:键值或数组坐标 | var value = myJson.getFloat("key")var value = myJson.getFloat(0) |
getString(key) | 获取内容并转成字符串 | key:键值或数组坐标 | var value = myJson.getString("key")var value = myJson.getString(0) |
set(key,value) | 修改节点 | key:键值或者坐标 value:数字和字符串或Json对象 | myJson.set("string","value")myJson.set("int",10)myJson.set("float",5.0)myJson.set(0,true)myJson.ser(2,otherJson) |
setInt(key,value) | 修改节点 | key:键值或者坐标 value:数字或字符串,强转int | myJson.setInt("int",100)myJson.setInt("int","200") |
setLong(key,value) | 修改节点 | key:键值或者坐标 value:数字或字符串,强转long | myJson.setLong("long",100)myJson.setLong("long","200") |
setFloat(key,value) | 修改节点 | key:键值或者坐标 value:数字或字符串,强转float | myJson.setFloat("long",5.0)myJson.setLong("long","100.2") |
setBool(key,value) | 修改节点 | key:键值或者坐标 value:布尔值 | myJson.setBool("bool",true) |
setString(key,value) | 修改节点 | key:键值或者坐标 value:字符串或者数字,强转string | myJson.setString("string","value") myJson.setString("string",33333) |
size() | 自身是数组,获取数组长度 | 无 | myJson.size() |
toJsonString() | 将当前对象序列化成Json字符串 | 无 | var jsonStr = myJson.toJsonString() |
例子:
function main(parm)
{
var myJson = new Json();
myJson.add("tony","age 18");
myJson.add("lily","age 17");
var jsonArr = myJson.addArray("array");
jsonArr.push("111");
jsonArr.push("222");
var newJson = myJson.addObject("obj");
newJson.add("key","value");
var jsonStr = myJson.toJsonString();
print jsonStr;
var myJson2 = new Json(jsonStr);
print myJson2.get("tony");
print myJson2.get("lily");
var jsonArr2 = myJson2.get("array");
print "jsonArr2 size:" + jsonArr2.size();
for(var i = 0 ; i < jsonArr2.size() ; i++)
{
print "jsonArr2 " + i + ":" + jsonArr2.get(i);
}
var newJson2 = myJson2.get("obj");
print newJson2.get("key");
}
结果:
{"tony":"age 18","obj":{"key":"value"},"lily":"age 17","array":["111","222"]}
age 18
age 17
jsonArr2 size:2
jsonArr2 0:111
jsonArr2 1:222
value