我从外部数据源获取此字符串。它看起来像这样:
var myString = "Worker Management System :
Your request has been submitted
________________________________________
Your Account User Info:
Name : Doe, John, A
ID : JDOE123
Email :
Title : Worker
BusinessUnit : BARN
Department : PIGS
EmployeeID :
SupervisorName : Doe, Jane, B
HireDate : 02/22/2002
Role : Feed Pigs;
ManagerEmail : JaneDoe@mail.com
City : New York
State : NY
ZipCode : 12345
Phone : --
"
我想把它解析为JSON(或者我可以使用的东西),这样我就可以调用myString.Name并让它返回Doe,John,A。
这可能吗?我不能修改我获取此字符串的方式,我只是尝试格式化它,以便我可以轻松地从中提取数据。
我看过道格拉斯·克罗克福德的JSON.parse
,但如果我的字符串格式不正确,那对我没有好处。
答案 0 :(得分:2)
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g, '');};
function my_string_to_object(myString)
{
var tmp = myString.split('Your Account User Info: ',2);
var tmp = tmp[1].split("\n");
var obj = {};
for(var k=0;k<tmp.length;k++) {
var line = tmp[k].split(' : ');
if(typeof(line[1]) != 'undefined') {
obj[ line[0].trim() ] = line[1].trim();
}
}
return obj;
}