Skip to main content

Hello,

 

i have an api which i need to read on a daily basis.

I use an httpcaller, this is what i get.

{
   "values" :
      {
         "id" : "66d9f33fa4766fe73ac59fb9",
         "start_time" : "2024-09-05T20:06:55+02:00",
         "end_time" : "2024-09-05T20:07:54+02:00",
         "vehicle" : {
            "id" : "xxxxx",
            "country_code" : "BE",
            "id_type" : "licenseplate"
         },
         "price" : {
            "amount" : 0,
            "vat" : 0
         },
         "right_type" : {
            "code" : "PAID_PARKING"
         },
         "area" : {
            "code" : "xxxx",
            "area_manager_id" : "611e58c434e393575bd3a064"
         },
         "registration_time" : "2024-09-05T20:06:55.593+02:00",
         "registered_by_organization" : {
            "code" : "xxxxx",
            "name" : "xxxxx"
         },
         "external_user_reference" : "31358053",
         "channel" : {
            "medium" : "api"
         },
         "tariff" : {
            "id" : "653ba7cd9c4bdbc81ccd212b"
         },
         "source" : {},
         "type" : "ONSTREET"
      },
      {
         "id" : "66d9f2cba4766fe73ac59f75",
         "start_time" : "2024-09-05T20:04:59+02:00",
         "end_time" : "2024-09-05T21:56:38+02:00",
         "vehicle" : {
            "id" : "xxxxxx",
            "country_code" : "BE",
            "id_type" : "licenseplate"
         },
         "price" : {
            "amount" : 0,
            "vat" : 0
         },
         "right_type" : {
            "code" : "PAID_PARKING"
         },
         "area" : {
            "code" : "xxxxx",
            "area_manager_id" : "611e58c434e393575bd3a064"
         },
         "registration_time" : "2024-09-05T20:04:59.657+02:00",
         "registered_by_organization" : {
            "code" : "xxxxx",
            "name" : "xxxxx"
         },
         "external_user_reference" : "20453017",
         "channel" : {
            "medium" : "api"
         },
         "tariff" : {
            "id" : "653ba8481f058da764c6bab4"
         },
         "source" : {},
         "type" : "ONSTREET"
      },
… (and so on)

How can i get all entries in a nice way. 

object - start time

           - end time

           - price

           -  area

           - ….

i either get only one of those attributes using first JSONformatter and then JSON Fragmenter (with Jsonquery: “jsonr"values"]

  • "vehicle"] "id"]”.

    Then I try to add (with a JSONextractor) the other attributes but they all get added in each attribute. 

    I tried some other workarounds by using JSON flattner, formator, extractor in another order but without result. 

    Anyone who can direct me into a solution for this? Thanks!

     

  • Hi, I would also say JSONFlattener → JSONFormatter → JSONExtractor 

    Does this JSON Query work for you?

    json<"values"]

  • .{ "start_time": start_time, "end_time": end_time, "price": price.amount, "area": area.code, "vehicle_id": vehicle.id }


  • Try a JSON Fragment with json[“values”]

  • and choose to Flatten Query Results into Attributes. Then expose the attributes (it’s easier to do this in a separate transformer as then you can load from a featurecache


  • Reply