Home » excel » mysql – Is there any such thing as a JSON Builder?

mysql – Is there any such thing as a JSON Builder?

Posted by: admin April 23, 2020 Leave a comment

Questions:

Overview

I am currently faced with a situation involving scientific data with numerous one-to-many relations. The user base would like to be able to submit the data for import via a Microsoft Excel file. Obviously, this is quite difficult to pin down using Excel, especially when dealing with many relations. Additionally, relying on an Excel format is somewhat more prone to errors.

JSON, on the other hand, is well suited in formatting the data in an infinitely hierarchal manner. This makes it relatively trivial in parsing and importing data into a database.

Question

So, does anyone know if there is any such thing as a JSON Builder? Like, something where an end-user can hit a UI to manually enter data, complete with hierarchal capabilities.

I could imagine feeding the “tool” with configurations… such as a schema, complete with data types, all of the one-to-many instances, and relational bindings. Then, end users would enter data accordingly.

I could build an interface, but I’m trying to determine if there is anything out there which would fit the bill before I even consider going down that road.

The figure below is a hypothetical example of “one-to-many” where “UserWorkHistory” is the “many”.

Hypothetical example of one-to-many where UserWorkHistory is the many

How to&Answers:

I’ve found a treasure trove of JSON-related online editors / visual editors / JSON Schema form frameworks: GUI-based or Web-based JSON editor that works like property explorer

However I believe jsonform (https://github.com/joshfire/jsonform) is most appropriate for you. Here is an example of a basic JSON enabled form:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Getting started with JSON Form</title>
    <link rel="stylesheet" style="text/css" href="deps/opt/bootstrap.css" />
  </head>
  <body>
    <h1>Getting started with JSON Form</h1>
    <form></form>
    <div id="res" class="alert"></div>
    <script type="text/javascript" src="deps/jquery.min.js"></script>
    <script type="text/javascript" src="deps/underscore.js"></script>
    <script type="text/javascript" src="deps/opt/jsv.js"></script>
    <script type="text/javascript" src="lib/jsonform.js"></script>
    <script type="text/javascript">
      $('form').jsonForm({
        schema: {
          name: {
            type: 'string',
            title: 'Name',
            required: true
          },
          age: {
            type: 'number',
            title: 'Age'
          }
        },
        onSubmit: function (errors, values) {
          if (errors) {
            $('#res').html('<p>I beg your pardon?</p>');
          }
          else {
            $('#res').html('<p>Hello ' + values.name + '.' +
              (values.age ? '<br/>You are ' + values.age + '.' : '') +
              '</p>');
          }
        }
      });
    </script>
  </body>
</html>

Good luck!

Just a footnote, this website will be of use as well: http://json-schema.org/