2

次のJSON文字列を含む変数があります。

{
    "0" : "Jun 20, 2012 03:02 PM",
    "1" : "Jun 20, 2012 03:26 PM",
    "2" : "Jun 21, 2012 01:12 PM",
    "3" : "Jun 21, 2012 01:25 PM",
    "4" : "Jun 21, 2012 02:42 PM",
    "5" : "Jun 21, 2012 02:43 PM",
    "6" : "NULL"
}

このJSONをjavascriptの配列に変換して、array[0]に「Jun20、2012 03:02PM」が含まれるようにします。array[1]に「Jun20、201203:26PM」が含まれるようにします。

4

3 に答える 3

5

まず、JSON文字列をJavaScriptオブジェクトに解析する必要があります。

JavaScript

var object = JSON.parse(JSONString);

JSONをサポートせずにブラウザをポリフィルするには:http: //bestiejs.github.com/json3/


次に、そのオブジェクトを配列に変換します。

JavaScript

var arr = [];
for(var i in object) {
    if(object.hasOwnProperty(i)) {
        arr.push(object[i]);
    }
}

jQuery

var arr = $.map(obj,function(value){ return value; });

フィドル: http: //jsfiddle.net/iambriansreed/MD3pF/

注:元の投稿者はjQueryについて言及していなかったため、これらのインスタンスに対してのみjQueryをロードすることは価値がなく、jQueryをまだ使用していない場合は、純粋なJavaScriptを使用することをお勧めします。

于 2012-06-21T23:30:30.777 に答える
2

または、ES5以降をターゲットにしている場合:

// myObject = { '0': 'a', '1': 'b' };
var myArray = Object.keys(myObject).map(function(key) { return myObject[key]; });
// myArray = [ 'a', 'b' ];
于 2012-06-21T23:35:04.260 に答える
0

var currentVersion = {/literal} {$ displayedVersion} {literal}; var jsonObj = eval('(' + {/literal} {$ json} {literal} +')');

于 2012-06-22T00:00:52.817 に答える