【问题标题】:javascript retrieve value from jsonjavascript从json中检索值
【发布时间】:2013-12-27 10:57:02
【问题描述】:

如何在 javaScript 中从 [object Object] 获取值。 我有一个来自 php 的 json 响应,我在 javascript 中传递了它。 我想要 GPSPoint_lat,GPSPoint_lon 的所有值。

变量 jArray = ;

var obj = JSON.parse(jArray);

我得到了 [object Object] 我如何从 obj 中检索所有值。

我的 json 字符串是-

{
   "Account": "dimts",
   "Account_desc": "Adminstrator",
   "TimeZone": "Asia/Calcutta",
   "DeviceList": [
      {
         "Device": "dl1pb1831",
         "Device_desc": "DL 1PB 1831",
         "EventData": [
            {
               "Device": "dl1pb1831",
               "Timestamp": 1387790572,
               "Timestamp_date": "2013/12/23",
               "Timestamp_time": "14:52:52",
               "StatusCode": 61472,
               "StatusCode_hex": "0xF020",
               "StatusCode_desc": "Location",
               "GPSPoint": "28.52802,77.14041",
               "GPSPoint_lat": 28.52802,
               "GPSPoint_lon": 77.14041,
               "Speed": 12.9,
               "Speed_units": "km/h",
               "Heading": 193.6,
               "Heading_desc": "S",
               "DigitalInputMask": 3,
               "DigitalInputMask_hex": "0x03",
               "Index": 0
            }
         ]
      },
      {
         "Device": "dl1pb7520",
         "Device_desc": "DL 1PB 7520",
         "EventData": [
            {
               "Device": "dl1pb7520",
               "Timestamp": 1387790574,
               "Timestamp_date": "2013/12/23",
               "Timestamp_time": "14:52:54",
               "StatusCode": 61472,
               "StatusCode_hex": "0xF020",
               "StatusCode_desc": "Location",
               "GPSPoint": "28.56589,77.05268",
               "GPSPoint_lat": 28.56589,
               "GPSPoint_lon": 77.05268,
               "Speed": 29.9,
               "Speed_units": "km/h",
               "Heading": 91.4,
               "Heading_desc": "E",
               "DigitalInputMask": 3,
               "DigitalInputMask_hex": "0x03",
               "Index": 0
            }
         ]
      },

【问题讨论】:

  • 在浏览器控制台中尝试console.log(obj)。如果你alerting Javascript 对象,你总是会得到[object Object],因为那是对象的 Javascript 字符串表示(字符串转换)。
  • 请指定你想要的值,all是整个对象
  • 以后根据JSON validator检查您的JSON
  • 您是否尝试过使用 stringify。试试 JSON.stringify(obj)。你会得到一串完整的数据。这是你想要的还是你想要遍历对象?

标签: javascript json


【解决方案1】:

看javascript教程

obj['key_name']

【讨论】:

    【解决方案2】:

    JSON 对象作为数组工作。您可以使用键访问元素:

    obj['Account']  // returns dimts
    obj.Account // works also
    

    你应该阅读一些关于它的教程,比如JSON: What It Is, How It Works, & How to Use It

    【讨论】:

      【解决方案3】:

      请将值检索为

      var jArray = <?php echo json_encode($_SESSION['return'] ); ?>; 
      var obj = JSON.parse(jArray);
      var value=obj.Result;
      

      【讨论】:

        【解决方案4】:

        我在 php 方面的经验为零,所以我不知道您的第一行代码生成的对象是什么。但假设 jArray 是一个 json 对象,其结构在您的问题中定义...您可以访问它的值,如下所示...

        jArray.Account;
        jArray.DeviceList[0].Device; //access the device property of the first object in the DeviceList array
        jArray.DeciveList[0].EventData.StatusCode;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-20
          • 2011-11-15
          • 1970-01-01
          相关资源
          最近更新 更多