私はここで奇妙な状況があります。私はそのテキストファイルをロードするためにfs.readFile(text file)
を使用して、array = data.split("\n")
線でテキストファイルを分割し、その後、挿入配列内の各オブジェクトの周りに一重引用符を持つJSON配列をjavascriptで解析するにはどうすればよいですか?
{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}
{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}
{"upSpeed": 13.890492898595365, "downSpeed": 87.35392034236816, "time": "2016-12-12T21:37:52.174878"}
{"upSpeed": 13.69741910903317, "downSpeed": 88.08812682966898, "time": "2016-12-12T21:41:04.688231"}
...
:私は、JSONオブジェクトのリストであるテキストファイルを持っており、それらが線で区切られ、このように壊れます各行はarray
になり、array
というJSON配列が作成されます。しかし、問題は、元のテキストファイルをdata.split("\n")
で分割したときに、結果として得られたオブジェクトをいずれかの側に一重引用符('
)で囲んでいるため、無効なJSONが発生します。だから、それはこのように見える終わる:
[ '{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}',
'{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}',
'{"upSpeed": 13.890492898595365, "downSpeed": 87.35392034236816, "time": "2016-12-12T21:37:52.174878"}',
'{"upSpeed": 13.69741910903317, "downSpeed": 88.08812682966898, "time": "2016-12-12T21:41:04.688231"}'
...]
、その結果は実際のjavascriptオブジェクトであるに追加されているから、単一引用符を避けるためにとにかくはありますか?私はfor
ループを作成し、配列内の各要素をループし、一重引用符を何も(""
)に置き換えるためにarray[i] = array[i].replace(/'/g, "");
を実行しようとしましたが、単純にうまく機能せず、上記と同じ正確な結果を返します。何か案は?
'JSON.parse( "["。+ data.split( "\ n")を ''(参加)+ "]")' – Daniel
@Daniel: – rakeshdas