From Clomosy Docs

No edit summary
No edit summary
 
(10 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>
:'''Base Syntax'''
var
  qry:TCLJSONQuery;
begin
    try
      qry := TCLJSONQuery.Create(nil);
      qry := Clomosy.ClDataSetFromJSON('[{"name":"Anna","age":20},{"name":"David","age":27}]');
//ShowMessage(qry.getJSONString);
      with qry do
      begin
        if Found then
        begin
          First;
          while not EOF do
          begin
            ShowMessage(FieldByName('name').AsString);
            Next;
          end;
        end;
      end;
    except
      ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
    end;
end;


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