From Clomosy Docs

No edit summary
No edit summary
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
It is used to convert JSON data into a TCLJSONQuery object and process the data by performing operations on it. Let's take a look at how it can be used:
JSON (JavaScript Object Notation) is a lightweight, human-readable format used for data exchange. JSON consists of key-value pairs and arrays.
<br><br>
<h2 style="font-size:18px;border-bottom:none;font-weight: bold;
">Using JSON with Databases</h2>
Define a TCLJSONQuery object to work with JSON datasets in Clomosy applications.


A variable belonging to the TCLJSONQuery object is declared. Then, this object is created.
<pre>
var
var
qry:TCLJSONQuery;
qry:TCLJSONQuery;
</pre>
Create the TCLJSONQuery object
<pre>
qry = TCLJSONQuery.Create(nil);
</pre>
<h2 style="font-size:18px;border-bottom:none;font-weight: bold;
">Converting JSON Data</h2>
Use the ClDataSetFromJSON function to take a JSON array and convert it into a dataset object.


qry := TCLJSONQuery.Create(nil);  
<div class="alert alert-ligth border border-3 border-primary-subtle rounded-5 p-4 shadow-sm" role="alert">
function ClDataSetFromJSON(payload : String):TClJSonQuery;
</div>


JSON data is transformed into a TCLJSONQuery object. This object contains the JSON data and allows query operations to be performed on it.
<b> Example </b><br>
Following this, operations can be performed on this data.
<pre>
qry = Clomosy.ClDataSetFromJSON('[{"name":"Anna","age":20},{"name":"David","age":27}]');
</pre>
<h2 style="font-size:18px;border-bottom:none;font-weight: bold;
">Converting Datasets to JSON</h2>
Use the DBDatasetGetAsJSON function to retrieve a dataset from the database and convert it into JSON format.
<pre>
var jsonStr: String;
jsonStr = Clomosy.DBDatasetGetAsJSON(SearchCode); // searchCode : TclSqlQuery;
</pre>
<h2 style="font-size:18px;border-bottom:none;font-weight: bold;
">Using JSON Data</h2>
Use the getJSONString property to return the data inside a TCLJSONQuery object as a JSON string.
<pre>
var
qry: TCLJSONQuery;
qry = TCLJSONQuery.Create(nil);
qry = Clomosy.ClDataSetFromJSON('[{"name":"Arda","age":20},{"name":"Ayse","age":27}]');
ShowMessage(qry.getJSONString);
</pre>
<h2 style="font-size:18px;border-bottom:none;font-weight: bold;
">Counting JSON Records</h2>
Use the RecordCount property to return the number of records in a TCLJSONQuery object.
<pre>
var
recordCount: Integer;
recordCount = qry.RecordCount;
ShowMessage(recordCount);
</pre>
JSON data is transformed into a TCLJSONQuery object. This object contains the JSON data and allows query operations to be performed on it. Following this, operations can be performed on this data.


'''Example:'''<br>
<b>Example</b><br>
var
 
  qry:TCLJSONQuery;
<pre>
begin
var
    try
  qry: TCLJSONQuery;
      qry := TCLJSONQuery.Create(nil);
{
      qry := Clomosy.ClDataSetFromJSON('[{"name":"Anna","age":20},{"name":"David","age":27}]');
  try
  //ShowMessage(qry.getJSONString);
    qry = TCLJSONQuery.Create(nil);
      with qry do
    qry = Clomosy.ClDataSetFromJSON('[{"name":"Anna","age":20},{"name":"David","age":27}]');   
       begin
    with qry do
        if Found then
    {
         begin
       if (Found)
          First;
      {
          while not EOF do
         First;  
           begin
        while (not EOF)  // Loop until the end of the dataset is reached
            ShowMessage(FieldByName('name').AsString);
        {
            Next;
           ShowMessage(FieldByName('name').AsString); // Display the 'name' field of each record
          end;
          Next; // Move to the next record
         end;
         }
       end;
       }
     except
     }
      ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
  except
    end;
    // If an error occurs, display the exception class and message
end;
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
  }
}
 
</pre>
 
<h2>See Also</h2>
* [[Clomosy_Class#Database_Connectivity|Database Connectivity]]
* [[Database Commands|Database Commands]]
{{#seo:|description=Learn about JSON Data Source in Clomosy! A guide to integrating and managing JSON data for seamless app development and data handling.}}

Latest revision as of 12:26, 2 May 2025

JSON (JavaScript Object Notation) is a lightweight, human-readable format used for data exchange. JSON consists of key-value pairs and arrays.

Using JSON with Databases

Define a TCLJSONQuery object to work with JSON datasets in Clomosy applications.

var
qry:TCLJSONQuery;

Create the TCLJSONQuery object

qry = TCLJSONQuery.Create(nil); 

Converting JSON Data

Use the ClDataSetFromJSON function to take a JSON array and convert it into a dataset object.

Example

qry = Clomosy.ClDataSetFromJSON('[{"name":"Anna","age":20},{"name":"David","age":27}]');

Converting Datasets to JSON

Use the DBDatasetGetAsJSON function to retrieve a dataset from the database and convert it into JSON format.

var jsonStr: String;
jsonStr = Clomosy.DBDatasetGetAsJSON(SearchCode); // searchCode : TclSqlQuery;

Using JSON Data

Use the getJSONString property to return the data inside a TCLJSONQuery object as a JSON string.

var 
qry: TCLJSONQuery;
qry = TCLJSONQuery.Create(nil);
qry = Clomosy.ClDataSetFromJSON('[{"name":"Arda","age":20},{"name":"Ayse","age":27}]');
ShowMessage(qry.getJSONString);

Counting JSON Records

Use the RecordCount property to return the number of records in a TCLJSONQuery object.

var 
recordCount: Integer;
recordCount = qry.RecordCount;
ShowMessage(recordCount);

JSON data is transformed into a TCLJSONQuery object. This object contains the JSON data and allows query operations to be performed on it. Following this, operations can be performed on this data.

Example

var
  qry: TCLJSONQuery;  
{
  try
    qry = TCLJSONQuery.Create(nil);  
    qry = Clomosy.ClDataSetFromJSON('[{"name":"Anna","age":20},{"name":"David","age":27}]');  
    with qry do
    {
      if (Found) 
      {
        First; 
        while (not EOF)  // Loop until the end of the dataset is reached
        {
          ShowMessage(FieldByName('name').AsString);  // Display the 'name' field of each record
          Next;  // Move to the next record
        }
      }
    }
  except
    // If an error occurs, display the exception class and message
    ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
  }
}

See Also