Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Pentaho中使用JavaScript循环json数组对象_Javascript_Json_Pentaho_Pentaho Data Integration - Fatal编程技术网

在Pentaho中使用JavaScript循环json数组对象

在Pentaho中使用JavaScript循环json数组对象,javascript,json,pentaho,pentaho-data-integration,Javascript,Json,Pentaho,Pentaho Data Integration,我有这个json格式的数据: "records":[ { "status":"active", "version":5, "assigned_to":null, "form_values": { "lastName":"Doe", "photos": [ { "photo_id":"ahfhghea08-c938-4ea7", "caption":null

我有这个json格式的数据:

"records":[
 {
   "status":"active",
   "version":5,
   "assigned_to":null,
   "form_values":
     {
       "lastName":"Doe",
       "photos":
         [
         {
          "photo_id":"ahfhghea08-c938-4ea7",
          "caption":null
         },
         {
          "photo_id":"38ffgh847d-0ced-4425",
          "caption":null
         },
         {
          "photo_id":"7hgj6a264-cba7-4165",
          "caption":null
         }

         ]
    },

      "status":"active",
      "version":1,
      "assigned_to":null,
      "form_values":
     {
       "lastName":"James",
       "photos":
         [
         {
          "photo_id":"ahfhghea08-c938-4ea7",
          "caption":null
         }

        ]
    }
 }
]
我正在尝试循环遍历照片数组,并只附加照片id,而不附加标题,标题之间用%分隔

输出应如下所示:

我只能用一个照片id显示它,这是我得到的输出:

当我尝试附加第二个photo_id时,我得到了一个错误“无法从未定义中读取属性photo_id”。因为有时候只有一个照片id,而没有多个照片id

我正在使用Pentaho中的Javascript编写脚本

更新:

这是json输入:

{"records":[{"status":"checked","version":5,"id":"bfc72756d-c819-4641-94a5-9ddd556345b","updated_at":"2019-11-25T16:07:46Z","client_created_at":"2019-11-25T14:38:43Z","client_updated_at":"2019-11-25T16:07:42Z","created_by":"Officer","created_by_id":"1ce0f34c-261b-437d-85d9-f79dda6be9d5","updated_by":"jOHN DOE","updated_by_id":"22d0da53-f153-4fdf-a009-8f2c9c0f8259","created_location":{"latitude":40.8159545,"longitude":-73.925375,"altitude":-30.1000003814697,"horizontal_accuracy":30.166},"updated_location":{"latitude":40.81592,"longitude":-73.9261654,"altitude":-23.7999992370605,"horizontal_accuracy":21.783},"created_duration":199,"updated_duration":1232,"edited_duration":2812,"form_id":"5ea14632-93ed-479c-afcb-3b94e163fc6f","project_id":null,"assigned_to":null,"assigned_to_id":null,"form_values":{"3aee":"MWF","c6da":{"other_values":[],"choice_values":["Supervisor"]},"117e":"2019-11-25","48bf":"Park","2e24":"Michael","ada7":"Doe","96cd":"no","931f":{"sub_thoroughfare":"213","thoroughfare":"Street","suite":null,"locality":null,"sub_admin_area":"Bronx County","admin_area":"","postal_code":"","country":""},"4755":"24","ffff":{"other_values":[],"choice_values":[""]},"a3e8":"9292140202","db5e":"10:30","d657":"09:38","6faa":"Michael dOE","dbcf":"2019-11-25","05b9":"Canal","69a7":"no","2738":"","3085":"","92fe":"2019-1484","8e8b":"no","40da":"","a804":"Street","dc96":[{"photo_id":"08b16f6b-68f0-45d2-b77c-87654059db6","caption":null},{"photo_id":"1d0569af1-2780-4a87-9e56-7e8c149604ac","caption":null},{"photo_id":"39868f21-1056-54fce-8c27-1e86991c4c11","caption":null}],"5d7d":"","f849":{"other_values":[],"choice_values":[""]},"eeb8":{"other_values":[],"choice_values":["In Street","On Sidewalk","Tree Pit"]},"c82d":"","b775":"","9b11":{"choice_values":["VIA Email Group","VIA Telephone"],"other_values":[]},"cc8e":"no","2135":{"choice_values":[""],"other_values":[]},"e537":"no","42d6":"yes","049f":"","15ae":"4554","c9e2":"47","photos":[{"photo_id":"abd56a08-c858-4ea7-989f-907a9*3241a93d","caption":null}],"1be6":"11:06","42ef":{"signature_id":"42c73-d075-45cb-a3bc-e7bdd1b4","timestamp":"2019-11-25T16:06:25Z"}},"latitude":40.8159545,"longitude":-73.925375,"altitude":-30.1000003814697,"speed":null,"course":289.8938,"horizontal_accuracy":30.166,"vertical_accuracy":null},{"status":"checked","version":4,"id":"a48c6ea-9f9b-4c89-9246-65468","created_at":"2019-11-26T15:33:23Z","updated_at":"2019-11-27T16:08:18Z","client_created_at":"2019-11-26T15:08:28Z","client_updated_at":"2019-11-27T16:08:18Z","created_by":"Jessie","created_by_id":"2a53-f153-4fdf-a009-8f2c8259","updated_by":"John","created_location":{"latitude":40.8164889,"longitude":-73.8912291,"altitude":-14.4613952637,"horizontal_accuracy":8.576},"updated_location":{"latitude":40.8392644,"horizontal_accuracy":5.984},"created_duration":1240,"updated_duration":90,"edited_duration":2639,"form_id":"5e32-93ed-479c-afcb-3b556fc6f","form_values":{"92fe":"2019-1494","5d7d":"","049f":"","42ef":{"signature_id":"82d-5ff-4e74-865e-af4a96547fbd9","timestamp":"2019-11-26T15:30:38.000Z"},"42d6":"yes","a3e8":"3478890138","05b9":"","6faa":"","3085":"","8e8b":"no","c9e2":"2","dbcf":"2019-11-26","48bf":"","1be6":"10:29","a804":"","eeb8":{"choice_values":["In Street"],"other_values":[]},"d657":"09:55","c6da":{"choice_values":[],"other_values":["Supervisor "]},"15ae":"4040","69a7":"no","db5e":"10:08","40da":"BX02","cc8e":"no","96cd":"no","photos":[{"photo_id":"918564fa9-eacc-585b9b-aa3e-a09637b1188","caption":null}],"2e24":"David","ffff":{"choice_values":[""],"other_values":[]},"dc96":[{"photo_id":"19145590-beb5-461e-bac2-6f45546af1a","caption":null}],"ada7":"","931f":{"country":"","sub_admin_area":"B","suite":null,"admin_area":"","locality":null,"postal_code":"","thoroughfare":"","sub_thoroughfare":"1231"},"2135":{"choice_values":[""],"other_values":[]},"3aee":"MWF","f849":{"choice_values":[""],"other_values":[]},"117e":"2019-11-26","e537":"no","4755":"2","2738":"","5d37":"Hazlog # 2019-1493","c82d":"","b775":"","9b11":{"choice_values":[],"other_values":[""]}},"latitude":40.8164889,"longitude":-73.8912291,"altitude":-14.4613952637,"speed":null,"course":318.7767,"horizontal_accuracy":8.576,"vertical_accuracy":null}]}
我正在尝试获取照片属性中照片id的值。这一张:
“照片”:[{“照片”id:“918564fa9-eacc-585b9b-aa3e-a09637b1188”,“标题”:null}]

正如您在json输入中看到的,有时照片数组只能包含一个photo_id值,有时它可以包含多个photo_id值。当有多个photo_id值可用时,我需要以以下格式连接这些值:
https://web.photos.com/photos/view?photos=(第一张照片id值)%(第二张照片id值)%…

我可以通过以下方式读取第一张照片id的值:
['photos'][0]['photo\u id']
,但如果未提供第二张照片id的值,我将无法定义,脚本将中断


如何检查是否提供了第二个照片id,然后将其连接到url字符串?

您放置的两个链接都显示404错误。首先,如果这是您的输入,则它不起作用,因为这不是JSON格式的字符串。你能发布正确的JSON吗。另外,除非绝对必要,否则不要在Pentaho中使用JScript步骤,使用JSON输入步骤级联多次,您的示例文件夹中有此用法的示例..\\data integration\samples\transformations\JSON-读取嵌套字段。ktr@CristianCurti输入是一个很长的json,我试图只共享有问题的部分。我必须使用JScript作为组织团队与Pentaho合作的团队协议。@nsousa链接被切断,因此它不会出于安全目的显示图片,因为这些图片与organization@PrakashReddyPotlapadu我没有循环数组,我只是以var photo_url=照片[0]['photo_id']您放置的两个链接都显示404错误。首先,如果这是您的输入,则它不起作用,因为这不是JSON格式的字符串。你能发布正确的JSON吗。另外,除非绝对必要,否则不要在Pentaho中使用JScript步骤,使用JSON输入步骤级联多次,您的示例文件夹中有此用法的示例..\\data integration\samples\transformations\JSON-读取嵌套字段。ktr@CristianCurti输入是一个很长的json,我试图只共享有问题的部分。我必须使用JScript作为组织团队与Pentaho合作的团队协议。@nsousa链接被切断,因此它不会出于安全目的显示图片,因为这些图片与organization@PrakashReddyPotlapadu我没有循环数组,我只是以var photo_url=照片[0]['photo_id']