0

我有从外部数据源获得的这个字符串。它看起来像这样:

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.

这可能吗?修改获取此字符串的方式不是我的选择,我只是尝试对其进行格式化,以便可以轻松地从中提取数据。

我已经查看了 Douglas Crockford's JSON.parse,但如果我的字符串尚未正确格式化,那对我没有任何好处。

4

1 回答 1

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;
}
于 2013-01-22T23:33:55.110 回答