Shodan API を使用していますが、受信した JSON をテンプレート (django) に渡すときに問題が発生しています。
これは未加工の JSON 構造です。
{"matches": [{"city": "Montreal", "updated": "02.02.2013", "ip": "24.48.3.143", "longitude": -73.5833, "data": "HTTP/1.0 200 OK\r\nDate: Sat, 02 Feb 2013 00:41:53 GMT\r\nServer: Apache/1.3.42 (Unix) mod_auth_pam/1.1.1 DAV/1.0.3 mod_ssl/2.8.31 OpenSSL/0.9.8g\r\nSet-Cookie: iomega=174.79.246.153.26931359765713476; path=/\r\nCache-Control: no-cache\r\nConnection: close\r\nTransfer-Encoding: chunked\r\nContent-Type: text/html; charset=utf-8\r\n\r\n", "country_name": "Canada", "hostnames": [], "country_code": "CA", "country": "DEPRECATED: use country_name", "latitude": 45.5, "os": "Linux 2.6.x", "port": 443}]}
そして、これは私がテンプレートに渡すデータ構造です:
[{"city": "Montreal", "updated": "02.02.2013", "os": "Linux 2.6.x", "ip": "24.48.3.143", "longitude": -73.5833, "latitude": 45.5, "hostnames": [], "country_code": "CA", "country": "DEPRECATED: use country_name", "country_name": "Canada", "data": "HTTP/1.0 200 OK\r\nDate: Sat, 02 Feb 2013 00:41:53 GMT\r\nServer: Apache/1.3.42 (Unix) mod_auth_pam/1.1.1 DAV/1.0.3 mod_ssl/2.8.31 OpenSSL/0.9.8g\r\nSet-Cookie: iomega=174.79.246.153.26931359765713476; path=/\r\nCache-Control: no-cache\r\nConnection: close\r\nTransfer-Encoding: chunked\r\nContent-Type: text/html; charset=utf-8\r\n\r\n", "port": 443}]
ご覧のとおり、その中には変換を台無しにする多くの特別な文字があります。別の問題は、要素のリストである「ホスト名」の子にあります(要素が存在する場合)...
このJSONファイルをjs/jqueryで正しい形式で処理する方法を知っている人はいますか? よろしく。
編集:私は私のjavascriptからの出力をチェックしていました.djangoビューからテンプレートに渡された特別な文字はhtmlコードに変換され、\r\n消えて解析エラーが発生します:
両方の json ファイルをhttp://json.parser.online.fr/と比較しました。
また、shodan api から受信し、ビューで操作された json は正常に機能しますが、テンプレートに渡された JSON は機能しません。