先谢谢你。 我需要一些帮助来操纵以下内容:
这是我的代码
var vPrefix = "tns";
var vNamespace = "http://somenamespace.com";
var badgerfish = function(text) {
return {
"$": text
};
};
var prime = {};
prime.startNode = {};
prime.startNode['@xmlns'] = {"tns": vNamespace};
prime.startNode.test1 = badgerfish("testValue1");
prime.startNode.test2 = badgerfish("testValue2");
prime.startNode.test3 = {};
prime.startNode.test3.subtest1 = badgerfish("subtestValue1");
var node = JSON.stringify(prime);
session.output.write(node);
输出以下内容:
{
"startNode": {
"@xmlns": {
"tns": "http:\/\/somenamespace.com"
},
"test1": {
"$": "testValue1"
},
"test2": {
"$": "testValue2"
},
"test3": {
"subtest1": {
"$": "subtestValue1"
}
}
}
}
我尝试完成的所有内容如下(差异只是startNode上的tns前缀):
{
"tns:startNode": {
"@xmlns": {
"tns": "http:\/\/somenamespace.com"
},
"test1": {
"$": "testValue1"
},
"test2": {
"$": "testValue2"
},
"test3": {
"subtest1": {
"$": "subtestValue1"
}
}
}
}
答案 0 :(得分:0)
prime = JSON.parse( JSON.stringify(prime).replace(/startNode/g, 'tns:startNode') );
这将为您提供有效的JSON对象,但如果您想输出JSON的字符串表示,则可能甚至不需要parse
。我不确定这是否比通过JSON更新密钥更多或更少。