JSON 2D对象读取Javascript

JSON 2D对象读取Javascript,javascript,Javascript,我有这样的json: balancer:"[ "2", {"balancer_upload": 0, "balancer_upload_speed": -120, "balancer_download": 0, "balancer_download_speed": -120}, "3", {"balancer_upload": 12, "balancer_upload_speed": -90,

我有这样的json:

balancer:"[
   "2", {"balancer_upload": 0, 
         "balancer_upload_speed": -120,
         "balancer_download": 0, 
         "balancer_download_speed": -120},
   "3", {"balancer_upload": 12, 
         "balancer_upload_speed": -90,
         "balancer_download": 8, 
         "balancer_download_speed": -20}]";
如何获取javascript值:

 first id ==> 2 and values from balancer_upload, balancer_upload_speed, balancer_download, balancer_download_speed
我尝试使用foreach,但不起作用

更新问题:

完整JSON格式:

{"total_users":1,"expired_users":4,"free_test":0,"pay_test":0,"total_devices":6,"online_devices":0,"android_devices":0,"enigma_devices":0,"mag_devices":0,"main_upload":0.07,"main_upload_speed":-120,"main_download":3.16,"main_download_speed":-120,"balancer":"[\"2\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120},\"3\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120},\"4\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120},\"5\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120}]"}

那个对象不是二维数组吗?它是一个混合型数组

我建议在使用之前先清理一下数据

var balancer = [
 "2", {"balancer_upload": 0, 
       "balancer_upload_speed": -120,
       "balancer_download": 0, 
       "balancer_download_speed": -120},
 "3", {"balancer_upload": 12, 
       "balancer_upload_speed": -90,
       "balancer_download": 8, 
       "balancer_download_speed": -20} ] ;

for( var t = 0; t < balancer.length; t+=2 ) {
   var id = balancer[t]; 
   var values = balancer[t+1]; 
   // do stuff. 
}

这是无效的json这是有效的json我删掉了其他json元素的开头和结尾,因为它是单一的json…我只需要从上面的示例中获取元素不,这是无效的,因为你删掉了使它有效的部分。你应该修改你的代码;有时复制/粘贴还不够好你的引号是什么使它不是validok?我用完整的json代码更新了问题…我用完整的json格式更新了上面的问题…很抱歉没有发布完整的json代码…上面的代码适用于第一个示例..但对于完整的json不适用..你能重写它吗?
var myObj = {
  "total_users": 1,
  "expired_users": 4,
  "free_test": 0,
  "pay_test": 0,
  "total_devices": 6,
  "online_devices": 0,
  "android_devices": 0,
  "enigma_devices": 0,
  "mag_devices": 0,
  "main_upload": 0.07,
  "main_upload_speed": -120,
  "main_download": 3.16,
  "main_download_speed": -120,
  "balancer": "[\"2\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120},\"3\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120},\"4\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120},\"5\", {\"balancer_upload\": 0, \"balancer_upload_speed\": -120, \"balancer_download\": 0, \"balancer_download_speed\": -120}]"
}

var balancer = JSON.parse(myObj.balancer);