【发布时间】:2017-12-19 05:40:53
【问题描述】:
我想将此字符串转换为 xml 格式。
在此之前,我似乎需要将这个“字符串”放在一个“对象”中并将其转换为“JSON 格式”。 (我认为)
我的字符串是
"oTest^A1^BB:a1bb,oTest^A2^BB:a1cc,oTest^A1^CC:a2bb,oTest^A2^CC:a2cc"
而JSON格式是
{
"oTest": {
"A1": {
"BB": "a1bb",
"CC": "a1cc"
},
"A2": {
"BB": "a2bb",
"CC": "a2cc"
}
}
}
最后我想要
<oTest>
<A1>
<BB>a1bb</BB>
<CC>a1cc</CC>
</A1>
<A2>
<BB>a2bb</BB>
<CC>a2cc</CC>
</A2>
</oTest>
此 XML 格式字符串。
(是否可以直接转成XML而不转成JSON?)
我试图将我的字符串放入“对象”中,但未能获得重复值。
请 ECMAscript 5 版本..
我试过了
function fn_str2obj2Json(sStr)
{
var objChild1 = {};
var objChild2 = {};
var objRtn = {};
var sStr = "oTest^A1^BB:a1bb,oTest^A2^BB:a1cc,oTest^A1^CC:a2bb,oTest^A2^CC:a2cc";
var arrStr = sStr.split(',');
for (var i = 0; i < arrStr.length; i++) {
var arrSpe = arrStr[i].split('^');
var sLineName = arrSpe[0];
var sTankName = arrSpe[1];
var sItemName = arrSpe[2].split(':')[0];
var sValue = arrSpe[2].split(':')[1];
objChild2["" + sItemName + ""] = sValue;
objChild1["" + sTankName + ""] = objChild2;
objRtn["" + sLineName + ""] = objChild1;
//$.extend(objChild1, objChild2);
//objChild1 = {};
//objChild2 = {};
}
var sJsonVal = JSON.stringify(objRtn, null, 2);
//var sXmlVal = x2js.json2xml_str($.parseJSON(sJsonVal));
objRtn = {};
}
【问题讨论】:
-
您尝试过任何代码吗?
-
不,JSON 不是 JavaScript 和 XML 之间的必要步骤。
-
...但是创建由该 JSON 表示的数据结构将是一个好的开始。
-
那些
L1应该是oTest吗? -
@31piy 是的。我试着把这个“字符串”放到“对象”上。但是 'objA["oTest"]["A1"]["BB"]' 的值和 'objA["oTest"]["A2"]["BB"]' 的值相等。其实我知道你我的朋友告诉我你很有帮助..如果我的问题缺乏,我很抱歉。
标签: javascript json xml