How to use dynamic JSON Map Objects (K,V) from API

Hi,

I am new to bubble, and I am struggling to figure out how to use a dynamic Map Object that is returned by our API’s to a bubble Table / Column Elements?

Backend: The backend is a JAVA Microservice that returns a JSON in the following format:
[{
effecteStartDate: “2020-01-01”,
effectiveEndDate: “2020-05-01”,
rateTable: {
“key” : “value”,
“key” : “value”
}
}]
The field “rateTable” is a Map<String, Object> from Java side, and depending on the data, the <key,Value> pairs change.

Problem: When I initialize the data in the API or Input the response manually, bubble is hard binding the “key” to a field. Is there a way to tell bubble that the “rateTable” is a dynamic Map<String, Object> and the “key” will change depending on the calls.

Can you give an example of the key? If there’s a full.payload example, with all.possible keys values, you can enter manually the response, but if keys are 1,2,3/name of a rate table for exemple that can be created in the API services… forget this. You need to process the json somewhere else or in a plugin.

The <key,Value> is created by end-users, I do not have control on the name of the key nor the value of the key, and the number of <k,v> items the users can enter. The Java equivalent is the Map<String, Object> that holds the dynamic values in the backend and gets converted using FasterXml.Jackson when the API is called by bubble. So, if the user may enter something like this:

Sample 1:
[{
effecteStartDate: “2020-01-01”,
effectiveEndDate: “2020-05-01”,
“rate” : 0.3,
“amount” : 20,
rateTable: {
“Model” : “BMW”,
“Year" : 2019,
“Convertible” : false
}
}]
Bubble

Bubble then hard binds the to rateTable Model, rateTable Year & rateTable Convertible.

Sample 2:
[{
effecteStartDate: “2020-01-01”,
effectiveEndDate: “2020-05-01”,
“rate” : 0.14,
“amount” : 500,
rateTable: {
“BMI” : 12,
“Steps" : 3000
}
}]

Bubble then hard binds the to rateTable BMI, rateTable Steps.

Sample 3:
[{
effecteStartDate: “2020-01-01”,
effectiveEndDate: “2020-05-01”,
“rate” : 0.234,
“amount” : 130,
rateTable: {
“Age” : 10,
“Gender" : “M”,
“Smoking” : false
}
}]

Bubble then hard binds the to rateTable Age, rateTable Gender & rateTable Smoking.

These rateTable are dynamic rate filters that are used to calculate rates and amounts, so there is no control on what the end-user is using these rates for, I cannot predict all the data in these values, and besides this can have Chinese / English or Spanish [i18N] values.

This is not possible with API connector. Create your own plugin or maybe use one of the json plugins that exist

Thanks, that is what I was leaning toward.