xco.js-{version}.js是XCO通用对象数据模型的JavaScript实现版本,提供了XCO对象基于JS语言特性的API;关于XCO通用对象数据模型可参考http://www.xson.org/project/xco/1.0.2/
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 |
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]');