Я использую следующий код для преобразования 2D-массива в json и из json в XML:
export class Son
{
public d : number;
public e : number[][];
constructor (){
this.e = new Array (16);
for (let i=0;i<16;i++)
this.e[i] = new Array(2);
}
}
export class Father
{
public a : number;
public b : number;
public c : Son;
constructor (){
this.c = new Son();
}
}
var xml2js = require('xml2js');
var builder = new xml2js.Builder();
var a_obj = new Father();
a_obj.a=1;
a_obj.b=2;
a_obj.c.d=3;
a_obj.c.e[0][0]=1;
a_obj.c.e[0][1]=1;
var a_json = JSON.parse(JSON.stringify(a_obj));
var a_xml = builder.buildObject(a_json);
Если объект (a_obj) не содержит 2D-массива, он работает нормально. Но в моем случае я получил следующую строку xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<c>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<e/>
<d>3</d>
</c>
<a>1</a>
<b>2</b>
</root>
Заранее благодарим за ответ. Цвика