0

JSON ファイルの解析中にエラーが発生しました

入力

{"continent":"南アメリカ","re​​centJobRank":717,"latitude":"-34.6037232","lastSeenDate":"2012-11-23","start":"Inmediato","contactPerson":" Alejandra Perez","lastJobRank":2,"title":"Encimador","salary":"Convenio","jobtype":"Tiempo Completo","url":"http://www.computrabajo.com. ar/bt-ofrd-deglay-7148.htm","postedDate":"2012-11-21","duration":"不確定","firstSeenDate":"2012-11-23","phoneNumber":" 011 4648-0226 RRHH","faxNumber":"011 4648-0226","場所":"アルゼンチン、ブエノスアイレス","会社":"Deglay SRL","id":"34076","部門":"ブエノスアイレス","カテゴリ":"その他","アプリケーション":"電話で連絡する電子メール","経度":"-58.3815931"}

以下は私が受け取った例外です

例外

予期しない文字 (J) が位置 457 にあります。 )

Validator で json をチェックしようとしましたが、問題ないようです。私が犯している明らかな間違いはありますか?

4

1 に答える 1

0

JSON.parse() がそれを受け入れるので、JSON は間違いなく正しいです。json-simple ライブラリでエラーを再現することはできません。ここで入手可能なすべてのバージョンをダウンロードし、JSON 文字列をコピーして貼り付けてJSONParser.parse()に渡しましたが、どのバージョンでもエラーは発生しませんでした。

これが私のセットアップです:

public static void main(String[] args)  {
    try {
      StringReader x = new StringReader("{\"continent\":\"South America\",\"recentJobRank\":717,\"latitude\":\"-34.6037232\",\"lastSeenDate\":\"2012-11-23\",\"start\":\"Inmediato\",\"contactPerson\":\"Alejandra Perez\",\"lastJobRank\":2,\"title\":\"Encimador\",\"salary\":\"Convenio\",\"jobtype\":\"Tiempo Completo\",\"url\":\"http://www.computrabajo.com.ar/bt-ofrd-deglay-7148.htm\",\"postedDate\":\"2012-11-21\",\"duration\":\"Indeterminada\",\"firstSeenDate\":\"2012-11-23\",\"phoneNumber\":\"011 4648-0226 RRHH\",\"faxNumber\":\"011 4648-0226\",\"location\":\"Buenos Aires, Argentina\",\"company\":\"Deglay S.R.L.\",\"id\":\"34076\",\"department\":\"Buenos Aires\",\"category\":\"others\",\"applications\":\"Por e-mail o comunicandose a los telefonos\",\"longitude\":\"-58.3815931\"}");
      new JSONParser().parse(x);
    } catch(Exception e) {
       System.out.println("Error: " + e);
    }

    System.out.println("Success");    
}

したがって、JSONもライブラリもここで問題があるとは思いません。エラーメッセージに

位置 457 に予期しない文字 (J) があります。

そして、この位置に近いJはどこにもありません。したがって、受信した JSON がエンコードされているために SimpleJSON が正しく解析できないか、データが完全に/正しく送信されません。

おそらく、JSON をどこから取得したか、JSONParser.parse() にどのように渡すかを知るのに役立ちます。

于 2014-11-08T11:31:24.013 に答える