-2

jQuery AJAX を使用して Web ページの一部をロードしています。私のAJAXデータ型はHTMLです。JSON の方が速いと聞いたことがあり、私もそれを使用しました。ただし、データが少し大きい場合、JSON は機能しないようです。たとえば、次のようになります。

データが短い場合に機能します。

{"name" : "John Smith" , "age" : "32" , "status" : "married" }

{"name" : "Bella Gilbert" , "age" : "26" , "status" : "single" }

しかし、データが少し大きい場合はそうではありません:

{"name" : "John Smith" , "age" : "32" , "status" : "married" }

{"name" : "Bella Gilbert" , "age" : "26" , "status" : "single" }

{"name" : "Joseph Morgan" , "age" : "28" , "status" : "single" }

{"name" : "Paul Wesley" , "age" : "24" , "status" : "single" }

PHPの機能と同様に、dataTypeをJSONとして指定せずにデータを取得し、javascriptを使用してデコードする方法はありますか?

json_decode($データ);

そうでない場合は、jQuery AJAX を使用して大きな JSON データを処理する方法を提案してください。ありがとう!

4

5 に答える 5

10

これを使って

var obj = jQuery.parseJSON(json_data);

json_data をデコードします

http://api.jquery.com/jQuery.parseJSON/

于 2013-02-20T11:18:18.257 に答える
8

JSON.parse()JSON 文字列をオブジェクトに変換するために使用します。

var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname + ", " + contact.firstname);

// Output: Aaberg, Jesper

jquery バージョン: ( Parses a JSON string.)

var obj = jQuery.parseJSON('{"name":"John"}');
alert(obj.name);
于 2013-02-20T11:21:30.350 に答える
5

このメソッドを使用して$.parseJSON()、JSON でエンコードされた文字列を解析して、対応する JavaScript オブジェクトにすることができます。ただし、サーバーに対して AJAX 要求を実行していて、そこからデータが取得される場合、jQuery は成功関数に渡された結果を自動的に解析するため、このメソッドを使用する必要はまったくありません。

$.ajax({
    url: '/somescript.php',
    dataType: 'json',
    success: function(result) {
        // result is already a parsed javascript object that you could manipulate directly here
    }
});

また、サーバー側のスクリプトを適切に記述して、応答Content-TypeHTTP ヘッダーを設定するようにすれば (これは常に行う必要があります)、パラメータapplication/jsonを jQuery に示す必要さえありません。dataTypejQuery はこの応答ヘッダーを分析し、結果を自動的に解析します。

$.ajax({
    url: '/somescript.php',
    success: function(result) {
        // result is already a parsed javascript object that you could manipulate directly here
    }
});
于 2013-02-20T11:18:30.580 に答える
0

json オブジェクトの形式が正しくありません。次のようになります。

[{"name" : "John Smith" , "age" : "32" , "status" : "married" },

{"name" : "Bella Gilbert" , "age" : "26" , "status" : "single" },

{"name" : "Joseph Morgan" , "age" : "28" , "status" : "single" },

{"name" : "Paul Wesley" , "age" : "24" , "status" : "single" }]  

このツールを使用してオブジェクトをチェックします。

于 2013-02-20T11:43:07.107 に答える
0

jQuery.parseJSONメソッドでこれを行うことができます。

于 2013-02-20T11:19:29.267 に答える