私が持っているこのようになりますstring
:あなたが見ることができるようにJSON.parse()JSON文字列を含む配列の最後のインデックスをデシリアライズに失敗
{"name":"Bob","age":20}###{"name":"Brian","age":12}###{"name":"Ryan","age":19}
、彼らJSONのような文字列が画定されています###
によって
私のJSコードは次のようになります。
var data = <above string passed in from a function>
var data_list = data.split('###'); //should return an array with 3 JSON strings
は今、私は個別リットルそれらを解析しようとしていますIKEこの:
console.log(JSON.parse(data_list[0])) // returns [object Object]
console.log(JSON.parse(data_list[1])) // returns [object Object]
しかし、最後の1:
console.log(JSON.parse(data_list[2])) // Fails
エラー:
ALSOInvalid JSON: <json>:28:1 Expected eof but found
}
^ in <eval> at line number 28
: 私はdata_list
配列から各index
の内容をプリントアウトし、有効なJSONはjsonlint.com
は、最後の閉じ括弧の後に任意の(見えない)文字はありますか? JSON.string(data_list [2])、JSON.parse(data_list [2] .trim())) ' – Bergi
@Bergi:これらの文字は' \ u0000 \ u0000 \ u0000 \ u0000'です。 。それらを取り除く最善の方法は何ですか? 'replace()'を使って? – summerNight
'replace'、' trim'、 'slice(0、lastIndexOf)'はすべて有効なアプローチです。または、彼らがどこから来たのかを知り、それを生成したソースからそれらを削除します。 – Bergi