codecamp

XCO的JavaScript实现版本

XCO通用对象数据模型的JavaScript实现版本,提供了XCO对象基于JS语言特性的API;关于XCO通用对象数据模型可参考<http://www.xson.org/project/xco/1.0.2/>;

1. 支持的类型

java中的类型 JS中的类型 数据类型标识
int Number I
long Number L
float Number F
double Number D
char String C
boolean Boolean O
String String S
java.util.Date Date A
java.sql.Date Date E
java.sql.Time Date G
XCO XCO X
String[] Array SA
List<String> Array SL
Set<String> Array SS
XCO[] Array XA
List<XCO> Array XL
Set<XCO> Array XS
int[] Array IA
long[] Array LA
float[] Array FA
double[] Array DA

2. 使用示例

a. 设值

var xco = new XCO();

// 设置基本类型 xco.setIntegerValue("intVal", 2); xco.setLongValue("longVal", 100001); xco.setFloatValue("floatVal", 2.0); xco.setDoubleValue("doubleVal", -0.3); xco.setStringValue("stringVal", "hello xco.");

// 设置数组 xco.setStringArrayValue("stringArray", ["aa", "bb", "cc"]); xco.setIntegerArrayValue("intArray", [1, 3, 5, 8]);

// 设置XCO var xco1 = new XCO(); xco1.setStringValue("stringVal", "中国"); xco.setXCOValue("xcoVal", xco1);

经过上面的操作,之前的xco对象以XML方式表示如下:

<?xml version="1.0" encoding="UTF-8"?> <X> <I K="intVal" V="2"/> <L K="longVal" V="100001"/> <F K="floatVal" V="2"/> <D K="doubleVal" V="-0.3"/> <S K="stringVal" V="hello xco."/> <SA K="stringArray"> <S V="aa"/> <S V="bb"/> <S V="cc"/> </SA> <IA K="intArray" V="1,3,5,8"/> <X K="xcoVal"> <S K="stringVal" V="中国"/> </X> </X>

b. 取值

var intVal = xco.getIntegerValue("intVal"); //number var stringVal = xco.getStringValue("stringVal"); //string var xcoVal = xco.getXCOValue("xcoVal"); //XCO var stringArray = xco.getStringArrayValue("stringArray"); //[]


// ... 更多可参考xco.js

c. 序列化

// XML序列化 var xml = xco.toXML();

// 反序列化 var xco = new XCO(); xco.fromXML(xml);

d. 以ognl方式访问

xco.get('intVal'); xco.get('xcoVal.stringVal'); xco.get('stringArray[0]');

XCO-JS介绍
XCO请求
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }