在json响应中发出引用值

时间:2015-05-24 05:52:18

标签: javascript json

将照片上传到外部云CDN返回给我一个json结果,其中包含我刚上传的照片的相关信息。特别是一个字段称为public_id;这是我需要存储在我的数据库中的。

响应如下:

{
  "public_id":"ddbkckukliohfc0rydsa",
  "version":1432446422,
  "signature":"4cd9b48e1e0504792fa0a468d6a6285ceb6a466a",
  "width":158,
  "height":158,
  "format":"jpg",
  "resource_type":"image",
  "created_at":"2015-05-24T05:47:02Z",
  "tags":[],
  "bytes":6741,
  "type":"upload",
  "etag":"34af2941f140b76ef1cb9f4a549b04a5"
}

当它返回时,调用以下js函数。

   function(error, result) {
     console.log(error, result);
     var t = result["public_id"];
     alert(t);
   }

当我alert(t)我被定义的时候它是如何立场的,但当我把它改为:

   function(error, result) {
     console.log(error, result);
     var t = result.public_id;
     alert(t);
   }

我也未定义?

这笔交易是什么?

1 个答案:

答案 0 :(得分:0)

如果您包含的输出是console.log的结果,则您具有字符串结果,并且您需要在字符串上调用JSON.parse()来获取对象。

我相信这对你有用。

function(error, result) {
  console.log(error, result);
  var theObj = JSON.parse(result);
  var t = theObj.public_id;
  alert(t);
}