如何操纵文本使其成为JSON?

Nan*_*ano 0 javascript text json filtering

Noob问题;

请帮助我..我只是一个初学者,我发现很难做到以下几点:

我想使用Javascript操作此文本,使其看起来不同:

"5555 55:55: John: New York
 6666 66:66: Jack: Los Angeles"
Run Code Online (Sandbox Code Playgroud)

操作之后,我希望它是:

[{ name:"John", address:"New York", number:"5555 55:55"},{ name:"Jack", address:"Los Angeles", number:"6666 66:66"}]
Run Code Online (Sandbox Code Playgroud)

所以我真的想知道如何告诉Javascript这是一个新行,这意味着一个新值..这里是一个xxxx:这是一个名字..这里是一个xxxx :(空格),之后是地址..

我不知道这是否可能,但你的帮助真的很受欢迎.先谢谢你

UPDATE

文字是:

var text = "5555 55:55: John: New York \n 6666 66:66: Jack: Los \n Angeles 7777 77:77: Smith: South Park: 3321"
Run Code Online (Sandbox Code Playgroud)

我的代码到目前为止:

var result = text.match(/\d\d\d\d \d\d:\d\d: [a-zA-Z]+: /g)
                .map(function (x) {
                    x = x.split(': ');
                    return {
                        number: x[0],
                        name: x[1],
                        address: x[2]
                    };
                });
Run Code Online (Sandbox Code Playgroud)

但是我只得到了"洛杉矶"这个词,因为regEx是错误的,并且':'的拆分不能正常工作,因为地址有时会这样.

Mal*_*lio 6

以下适用于Firefox:

"5555 55:55: John: New York\n 6666 66:66: Jack: Los Angeles"
 .split('\n')
 .map(function(x) {
  x = x.split(': ');
  return {
    number: x[0],
    name: x[1],
    address: x[2]
  };
});
Run Code Online (Sandbox Code Playgroud)

其他版本缺乏map,你将不得不补偿.