如何在javascript中获取json编码数组的长度?

DS9

我有一个像这样的json编码数组:

{
  "ar0":"{\"start\":{\"lat\":22.9939202,\"lng\":72.50009499999999},\"end\":{\"lat\":23.0394491,\"lng\":72.51248850000002},\"waypoints\":[[23.0316834,72.4779436]]}",

  "ar1":"{\"start\":{\"lat\":22.9999061,\"lng\":72.65318300000001},\"end\":{\"lat\":23.0420584,\"lng\":72.67145549999998},\"waypoints\":[[23.02237,72.6500747]]}",

  "ar2":"{\"start\":{\"lat\":23.0394491,\"lng\":72.51248850000002},\"end\":{\"lat\":22.9999061,\"lng\":72.65318300000001},\"waypoints\":[[23.0016629,72.58898380000005]]}"

 } 

我的问题是:

(1)如何找到这个数组的长度? //here it is 3

(2)如何利用它的价值?
//for example:for as0 the value is {\"start\":{\"lat\":22.9939202,\"lng\":72.50009499999999},\"end\":{\"lat\":23.0394491,\"lng\":72.51248850000002},\"waypoints\":[[23.0316834,72.4779436]]}

javascript code where i use upper things :

 function setroute(os)
{
    var wp = [];
    for(var i=0;i<os.waypoints.length;i++)
        wp[i] = {'location': new google.maps.LatLng(os.waypoints[i][0], os.waypoints[i][1]),'stopover':false }

    ser.route({'origin':new google.maps.LatLng(os.start.lat,os.start.lng),
    'destination':new google.maps.LatLng(os.end.lat,os.end.lng),
    'waypoints': wp,
    'travelMode': google.maps.DirectionsTravelMode.DRIVING},function(res,sts) {
        if(sts=='OK')ren.setDirections(res);
    })  
}

function fetchdata()
{
    var jax = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
    jax.open('POST','process.php');
    jax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

    jax.send('command=fetch')
    jax.onreadystatechange = function(){ if(jax.readyState==4) {                
    alert(JSON.parse(jax.responseText).ar0);
        try {
                console.log(jax.responseText);

          //it is not work

        for(var i=0;i<JSON.parse(jax.responseText).length;i++) 
                {
                  setroute( eval('(' + jax.responseText + ')') );
                }
            }
        catch(e){ alert(e); }
    }}
}

您的JSON不是数组,而是对象。如果您希望它是一个数组,则应该是这样的:

[
  "{\"start\":{\"lat\":22.9939202,\"lng\":72.50009499999999},\"end\":{\"lat\":23.0394491,\"lng\":72.51248850000002},\"waypoints\":[[23.0316834,72.4779436]]}",

  "{\"start\":{\"lat\":22.9999061,\"lng\":72.65318300000001},\"end\":{\"lat\":23.0420584,\"lng\":72.67145549999998},\"waypoints\":[[23.02237,72.6500747]]}",

  "{\"start\":{\"lat\":23.0394491,\"lng\":72.51248850000002},\"end\":{\"lat\":22.9999061,\"lng\":72.65318300000001},\"waypoints\":[[23.0016629,72.58898380000005]]}"

 ]

然后,您可以获得一个javascript数组,如下所示:

var array = JSON.parse(jax.responseText);

并且访问值如下:

array[0]

array.length

编辑:为了使用PHPjson_encode方法拥有真正的JSON数组,请参阅此相关问题

通过此修改,您将能够使用JS数组的所有可能性,而无需解决方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在javascript中获取json编码数组的长度?

来自分类Dev

如何在JavaScript中循环php json编码数组?

来自分类Dev

如何使用JavaScript访问数组的JSON编码数据

来自分类Dev

如何使用JSON编码数据到Javascript数组?

来自分类Dev

如何过滤json编码数组计数?

来自分类Dev

JSON编码数组中的foreach循环

来自分类Dev

如何在php中显示json解码数组?

来自分类Dev

如何在不进行硬编码的情况下获取C ++中类数组的长度?

来自分类Dev

Json 编码数组值

来自分类Dev

从PHP中回显的json编码数组迭代javascript对象

来自分类Dev

从PHP中回显的json编码数组迭代javascript对象

来自分类Dev

如何在NodeJS请求的表单字段中编码数组?

来自分类Dev

如何使用php获取json编码数据

来自分类Dev

如何在JSON-LD中为RDF值编码数据类型IRI?

来自分类Dev

如何在Doctrine中编码JSON数组?

来自分类Dev

如何在Postgresql中获取JavaScript / JSON数组数组?

来自分类Dev

如何在javascript中的数组中获取json值

来自分类Dev

如何在javascript中以json格式从数组中获取数据

来自分类Dev

PHP POST的JSON编码数组数据

来自分类Dev

解析Json编码数组PHP错误

来自分类Dev

接受JSON编码数组的PHP函数

来自分类Dev

如何在javascript中的数组内获取json值

来自分类Dev

如何在Javascript中动态获取JSON数组名称

来自分类Dev

如果列包含 Laravel 中的 JSON 编码数据,我如何在数据库中搜索值

来自分类Dev

PHP中编码数组的问题

来自分类Dev

如何从php生成的数组中获取javascript中的长度?

来自分类Dev

如何在模板语法中获取数组的长度

来自分类Dev

如何在HashMap值中获取String []数组的长度

来自分类Dev

如何在抖动中获取Json的地图长度

Related 相关文章

热门标签

归档