如何从YQL中的JSON源中选择特定记录?

时间:2011-11-28 17:42:54

标签: json yql

我正在尝试使用YQL从JSON源获取一些数据,但我得到的是NULL。

这是JSON:

{
  "categorias": [
    {
      "id": 0,
      "categoryName": "Seguridad",
      "description": "Protegete contra vulnerabilidades practicando correctamente la seguridad en el desarrollo de software",
      "imageUrl": "http://domain/img_thmb/lock.png",
      "tutorials": [
        {
          "id": 1,
          "name": "Cross-Site request forgery (CSRF) para dummies",
          "description": "Continuando con el tema de seguridad, vamos a analizar lo básico de un ataque CSRF para que puedan entender como funciona y poder protegerse del mismo.",
          "tutorialUrl": "http://domain/post/6529205521/cross-site-request-forgery-csrf-para-dummies",
          "imageUrl": "http://domain/lmsnt9akJ81qjthf4.jpg"
        },
        {
          "id": 2,
          "name": "Cross-site scripting (XSS) para dummies",
          "description": "De acuerdo al OWASP el Cross-site scripting es una de las amenazas mas explotadas en el 2010.",
          "tutorialUrl": "http://domain/post/6511050937/cross-site-scripting-xss-para-dummies",
          "imageUrl": "http://domain/lmrfitzlmu1qjthf4.jpg"
        }
      ]
    },.....

这是我在YQL控制台中使用的select语句:

select * from json where url='http://domain/js/json.js' and id=1

我正在尝试获取“分类ID”而我正在null,我做错了什么?

2 个答案:

答案 0 :(得分:1)

对不起,我是YQL的新手,我回答了我自己的问题,如果有一些新的话:

  

从json中选择分类,其中url ='http://domain/js/json.js'和categorias.id = 1

答案 1 :(得分:1)

另一种选择是使用itemPath键来指定应该被视为单个结果的内容。

select * from json
where itemPath="json.categorias" 
  and url="<url to json>" 
  and id=1;