XCO的JavaScript实现版本


xco.js-{version}.js是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]');