Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中推送json数据?_Javascript_Jquery_Json - Fatal编程技术网

如何在javascript中推送json数据?

如何在javascript中推送json数据?,javascript,jquery,json,Javascript,Jquery,Json,我有一个json文件,该文件包含如下格式的数据: { "rigidBodies": [ { "name": "ball1.png", "imagePath": "ball1.png", "origin": {"x": 0, "y": 0}, "polygons": [ [ {"x": 0.16999998688697815, "y": 0.5724999

我有一个json文件,该文件包含如下格式的数据:

{
    "rigidBodies": [
        {
            "name": "ball1.png", "imagePath": "ball1.png", "origin": {"x": 0, "y": 0},
            "polygons": [
                [
                    {"x": 0.16999998688697815, "y": 0.5724999904632568},
                    {"x": 0.16749995946884155, "y": 0.5324999690055847},
                    {"x": 0.16999998688697815, "y": 0.45250001549720764}
                ],
                [
                    {"x": 0.16999998688697815, "y": 0.45250001549720764},
                    {"x": 0.16749995946884155, "y": 0.375},
                    {"x": 0.2199999988079071, "y": 0.3725000023841858}
                ]
            ]
        }
    ]
}
我想将数据推送到一个数组中,所以我尝试了这种方法,结果显示错误

var poly = new Array();

    // note : parsing json 
    $.getJSON('my_assets/addPhysics/testPhysics.json', function(data) {
        //do stuff with your data here
             $.each(data, function(i, item) {
                   // for(var i=0;i<item[0].length;i++){
                        poly.push(item[0][i].x,item[0][i].y);
                    //}  
             });
    });
数据是一个对象,要循环通过的数组位于刚体数组中的“多边形”属性中。您需要执行以下操作:

风险值数据={ 刚体:[{ 名称:ball1.png, imagePath:ball1.png, 来源:{ x:0,, y:0 }, 多边形:[ [{ x:0.1699998688697815, y:0.572499904632568 }, { x:0.16749995946884155, y:0.5324999690055847 }, { x:0.1699998688697815, y:0.45250001549720764 }], [{ x:0.1699998688697815, y:0.45250001549720764 }, { x:0.16749995946884155, y:0.375 }, { x:0.219999988079071, y:0.3725000023841858 }] ] }] } var poly=[]; $.eachdata.rigidBodies,functioni,body{ $.eachbody.polygons,functionj,polygon{ $.eachpolygon、functionk、coords{ poly.push[coords.x,coords.y]; }; }; }; document.getElementByIdoutput.innerHTML=JSON.stringifypoly; 你应该试试这个 poly.push[item[0][i].x,item[0][i].y]; 所以poly[0][0]是X
而poly[0][1]是Y

数据不是数组,它是object,那么如何获取json文件的“x”和“Y”并推送到数组中呢?问题还不清楚。你只想要刚体数组的第一个对象吗?第二行应该是-$.eachbody.polygons,functionj,item{//do something}否则它会显示一个错误。是的,很抱歉,我刚刚注意到数组是空的,我试图在控制台中打印数组,但它什么也不打印。现在你已经将JSON格式化为可读格式了,我看到多边形是一个二维数组。因此需要另一个级别的$.each。这就是$.getJSON所做的。