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を調べました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 に答える