javascript 将一个字符串封装到一个对象里

来源:百度知道 编辑:UC知道 时间:2024/06/09 04:50:22
字符串是从Property文件中读取出来的,所以是末知的。
但型式大体是这样:
例如:随机取字符串str="
java.runtime.name=Java(TM) SERuntimeEnvironment||java.vm.version=10.0-b22||java.vm.vendor=Sun MicrosystemsInc.||java.vendor.url=http://java.sun.com/||java.vm.name=true||java.vm.specification.name=Java Virtual Machine Specification";

再定义一个Object对象,
将这个字符串展开,封装到这个对像里。

封装形式是这样:
javaObject={
runtime:{name:Java(TM) SERuntimeEnvironment},
vm:{version:10.0-b22,vendor:Sun MicrosystemsInc.,
name:true,specification:{name:Java Virtual Machine Specification"}},
vendor:{url:http://java.sun.com/}
}
总算的来说是KEY=VALUE的形式.用JAVASCRIPT来实现。谢谢
以解决

<script language="JScript">
var getGlobal = function() { return (function(){return this;}).call(null); };
function parseProperty(key, value, o) {
var o = o || getGlobal();
var arr = key.split(/\./g);
var tmp = "";
for (var i=0; i<arr.length-1; i++) {
if (typeof o[arr[i]] != "object") {
o[arr[i]] = {};
o = o[arr[i]];
} else {
o = o[arr[i]];
}
}
o[arr[i]] = value;
}
function parseObject(str) {
var reg = /(\w+(?:\.\w+)*)=([\d\D]*?)(?=\|\||$)/g;
var mr;
var g = {};
while ((mr=reg.exec(str)) != null) {
parseProperty(mr[1], mr[2], g);
}
return g;
}
var str = "java.runtime.name=Java(TM) SERuntimeEnvironment||java.vm.version=10.0-b22||java.vm.vendor=Sun MicrosystemsInc.||java.vendor.url=将JAVASCRIPT转为VB Javascript中,如何将一个字符串中的数据存入一个数组? 如何将一个Javascript变量在ASP输出语句中输出 javascript如何将信息在一个可以复制的对话框中弹出? 一个javascript的问题 求一个JAVAScript特效 请教一个Javascript问题! 问一个JAVASCRIPT问题~ 求一个JavaScript代码 javascript 一个小技巧