[🌟 New Features: Ultra-Deep Drill] JSON Assistant Plugin: Your Solution to Complex JSON & API Data in Bubble

JSON Assistant

The JSON Assistant is a utility plugin that can be used to convert data to JSON format and extract values from JSON.

The plugin is available for a one-time fee of $5 , making it an affordable and valuable addition to any developer’s toolkit.

It includes two powerful elements to help you work with JSON data like a pro:

  1. Things to JSON
  2. JSON Extractor

You can supercharge your Bubble app with these easy-to-use, flexible tools!

Here are some use case of the JSON Assistant in applications:

bubble -> JSON

Convert lists of custom data type to JSON format to manipulate, store or transfer data to third parties API.

Get values of complex JSON

Extract specific values from complex JSON data without having to write custom code.

Integrate external APIs

Easily integrate external APIs that require JSON data into your bubble app.

Prepare data for bubble

Make the data you receive through the API clean and usable in the bubble.

Simplify workflows

Simplify workflows and reduce the number of steps required to manipulate JSON data in your application. You can use server or client-side actions for making the conversation.

Get Values of Custom Key

By entering the name of the key, you can extract all the values related to it from JSON and have it in the form of a list


Let’s take a closer look at the two elements included in this plugin:

JSON Extractor :mag:

This element Extracts data from JSON and offers great flexibility when dealing with data in JSON format.

Key Features

  • You can use it in workflows or from the element itself
  • Filter the data you don’t need
  • Trigger events when conversion is done
  • Server sides actions

The JSON Extractor provides these exposed states
State Description Type
List of Keys Get a list of the JSON’s keys list of texts
Values of Key 1 - 10 Extracted values of each key in separated lists list of texts
Index Index of values, from 1 to count of values. list of numbers
Filtered JSON Filtered JSON can be reused for other purposes text
Instruction

Working with this element is very straightforward.

After adding the element to the page (no matter where you place it, it has no effect on other components and will be hidden when the app runs).

Link the JSON to the plugin element. If needed, you can also use the filter feature.

Now for the first ten keys, the values are available through element states.
If your file has more than ten keys, you can add another element and set the starting point to 11 to continue the values. You can repeat this as many times as needed.

Input fields:

  • JSON
  • Start Point: Set which JSON key to start extracting from
  • Trigger on Page Load (You can run the conversion by Run action )
  • Filtering Key: Choose the key for filtering values
  • Operation: (Equal, >, <, <=, >=, Not equal)
  • Filter Value

Things to JSON :mage:

This element allows you to convert custom data to JSON format with ease.

Instruction

You can specify the data type and data source, and the converted JSON and fields’ names of the custom data type are exposed as states.
Also, ‘Is Ready’ event is triggered when the output is ready. This makes it easy to prevent errors when using the output data.


We provide an action with the same functionality which allows you to start the conversion at the right time. This method does not affect the initial load of the app page.

We believe these two elements will make your JSON data handling a breeze! :dash:

The JSON Assistant plugin is a must-have for any bubble developer looking to save time and streamline their workflow.

11 Likes

You can test the plugin with your own data in Playground.

1 Like

Very nice plugin, I can see many users using it for exporting data as well (lol). Well built!

2 Likes

Niace! Just what i was looking for! The other JSON plugins were unnecessarily complicated to use.

This + browser storage will help offload WU spends!

4 Likes

@Future
Hey, thanks for the comment on our plugin!

We’re really glad to hear that you like it and think it’s well-built. :sunglasses:

And hey, if people want to use it for exporting data, that’s totally cool with us (lol). :sweat_smile:

We’re always looking for ways to improve our plugin, so please do let us know if you have any suggestions or feedback.

Thanks again for checking it out! :pray:

@ihsanzainal84
Thanks for the awesome feedback on our plugin!

We’re thrilled to hear that it’s just what you were looking for and that it’s easier to use than other JSON plugins you’ve tried.

Our goal is to create tools that are both functional and user-friendly, so your comment is music to our ears. :star_struck:

It’s great to hear that our plugin will be helpful in offloading WU spends with browser storage. We will try to focus more on this issue and reduce costs for users. :moneybag:

If you have any other cool use cases or suggestions for how we can improve the plugin, please let us know!

If you have a moment, would you consider leaving a review on the plugin page? It would mean a lot to us and help other users discover our plugin as well. Thanks again for your support!

1 Like

Could I use this as a form builder? Storing “question” and “answer”? Not sure how I’d implement that though.

1 Like

Hello,
Could you provide more details? Are you retrieving the data through an API or is it already available within the app?

If you’d like, you can send me a message or contact me via email so that I can assist you with resolving this challenge.


Also, for the topic you mentioned in your bio, I suggest utilizing the resources available here. The recommended book is very practical and helpful.

:bell: UPDATE

New Features :star2:

  • At the request of a user, an action was added to the extractor element to get the values of a key by entering its name.
    image

  • Also, a source selection field has been added to the existing actions, where you can choose to use the same data, you entered in the element or enter a new JSON.
3 Likes

:bell: UPDATE

New Feature :star2:

We are excited to announce a new feature for our plugin JSON Assistant: Ultra Deep Drill.

This feature allows you to extract the deepest values of any JSON data with ease. You can use it to get the most out of your complex JSON and API data in your apps.


However, this feature is still in beta testing, and we are working hard to improve it. We appreciate your patience and understanding as we fine-tune this feature for you.
If you encounter any issues or bugs, please let us know and we will fix them as soon as possible.

You can try out this feature on our demo page of the plugin. Just paste your JSON data and see how Ultra Deep Drill works its magic.
You can also update the plugin to the latest version without any risk. This feature is switched off by default and will not impact your apps.


:pray:

Thank you for using JSON Assistant and supporting our work. We hope you enjoy this new feature and find it useful. Please give us your feedback and suggestions on how we can make it better for you.

Also thanks to @anthony.woodard91 for forcing us to add this feature. :star_struck:

3 Likes

What does the ultra-deep drill feature do?

With an example, let’s see the difference of the output in ultra-deep mode.

Let’s say you have a nested JSON like this:

   {
        "name": "Mike",
        "age": 10,
        "address": {
               "street": "123 Main St",
                "city": "Anytown",
                 "state": {
                         "code": "TX",
                         "name": "Texas"
                  }
        }
      },
      {
        "name": "Spiderman",
        "age": 20,
        "address": {
              "street": "456 Oak St",
              "city": "Othertown",
              "state": {
                        "code": "NY",
                        "name": "New York"
               }
        }
      }

The output of the plugin when :stop_sign: Ultra-Deep mode is inactive:


But by activating Ultra-Deep Drill :hole:

you will have access to keys and values at lower levels. As you see, the address and state that were in the lower levels are also extracted:


:left_speech_bubble:

We are eagerly looking forward to your suggestions and comments about this feature :star_struck:

2 Likes

LOL not sure I forced you guys but I am very happy to see this new feature! Thank you again and I will be in contact with any additional feedback I have from working with the plugin. :slight_smile:

1 Like

Yes, I was joking. :sweat_smile:

Thanks for suggesting this feature. I will be happy to know the result, I must say that your JSON is the last boss battle :japanese_goblin:

1 Like

:bell: UPDATE: NEW FEATURE

Deep Digging

JSON

Without the deep digging feature, by converting the custom bubble data type to JSON, you only get the first level of data.

{

    "date_date": "2022-03-31T19:30:00.000Z",

    "product_category_text": "liquid",

    "product_custom_product": {},

    "product_rating_number": 4.4,

    "product_type_text": "foundation",

    "total_number": 946.56,

    "unit_number": 64,

    "Created By": {},

    "Slug": null,

    "Created Date": "2022-11-19T14:27:25.098Z",

    "Modified Date": "2022-11-19T14:42:46.322Z",

    "_id": "1668868044788x595522065784897500"

}‍

But with this feature, the deepest data will be extracted from the relationships between tables.

{

    "date_date": "2022-03-31T19:30:00.000Z",

    "product_category_text": "liquid",

    "product_custom_product": {

        "brand_text": "maybelline",

        "category_list_option_product_category": null,

        "name_text": "Maybelline Dream Liquid Mousse",

        "price_number": 14.79,

        "product_category_text": "liquid",

        "rating_number": 4.4,

        "type_text": "foundation",

        "Created By": {

            "dark_boolean": null,

            "name_text": null,

            "plan_text": null,

            "email": null,

            "logged_in": null,

            "Slug": null,

            "Created Date": null,

            "Modified Date": null,

            "_id": null

        },

        "Slug": null,

        "Created Date": "2022-11-19T14:18:01.284Z",

        "Modified Date": "2022-11-19T14:18:01.333Z",

        "_id": "1668867473543x670151297432289300"

    },

    "product_rating_number": 4.4,

    "product_type_text": "foundation",

    "total_number": 946.56,

    "unit_number": 64,

    "Created By": {

        "dark_boolean": null,

        "name_text": null,

        "plan_text": null,

        "email": null,

        "logged_in": null,

        "Slug": null,

        "Created Date": null,

        "Modified Date": null,

        "_id": null

    },

    "Slug": null,

    "Created Date": "2022-11-19T14:27:25.098Z",

    "Modified Date": "2022-11-19T14:42:46.322Z",

    "_id": "1668868044788x595522065784897500"

}
2 Likes

Thank you. This is exactly what I need for something I’ve been working on.

1 Like

We are delighted that you find our plugin valuable. :star_struck:

Please feel free to reach out to us if you require any assistance or have any inquiries about utilizing its features. We are always here to assist you. :cowboy_hat_face:

It’s possible to extract data from a json file saved in bubble?

1 Like

Hey there!

If by “bubble” you’re referring to Bubble’s database, then yes, you can absolutely extract data from a JSON there with JSON Assistant plugin.

No matter where your data is, you can easily send it to the plugin.
Plus, if your data is in the database, our plugin’s backend workflow actions will be incredibly helpful.

Let us know if you have any more questions!

Hi there,

I’m using JavaScript to Bubble and I have a function that pulls in some API data and compiles an array which gets passed back to Bubble for use in a repeating group. I’ve done this before and it works fine but I’ve only done it when the array contains individual, single items.

I’m now working on the same process but the result are going to be a JSON string…

// Convert 'searchResults' to a JSON string and pass it to 'bubble_fn_searchSymbol'
bubble_fn_searchSymbol(JSON.stringify(searchResults));

How can I use your plug in to receive ‘searchResults’ into a repeating group?

In the past I’ve used the J2B_searchSymbol’s value list and that has worked fine, but again the results have not been JSON as they are now.

Thanks,
Dan

1 Like

Hi Dan,

Thanks for reaching out and for using our JSON Assistant plugin in your project.

From your message, I understand you’re already able to get data from the API and send it to Bubble using J2B.

To assist you better, it would be great if you could provide a bit more detail about the process you’re trying to implement, as well as how you intend to use our plugin in this process. Here are some specific areas where further detail could be helpful:

  1. Data flow: Could you walk us through the specific steps in your process, do you want use our plugin to extract the data from the API, to pass it into Bubble, or the data is J2B’s output?
    This will help us understand the overall workflow and identify where our plugin fits in.

  2. Data format: Could you provide an example of what the JSON data you’re working with looks like? and what is the results data type?
    This will give us a clearer idea of the data structure you’re dealing with.

  3. Bubble Custom Data Type: It’s not completely clear whether you are trying to convert the JSON string into a Bubble custom data type?

Once we have this information, we’ll be in a much better position to help you navigate this issue.

Looking forward to hearing from you soon!

Best regards,
Mehrdad