Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) Create more Complex JSON DocumentSample code to create the following JSON document: { "Title": "The Cuckoo's Calling", "Author": "Robert Galbraith", "Genre": "classic crime novel", "Detail": { "Publisher": "Little Brown", "Publication_Year": 2013, "ISBN-13": 9781408704004, "Language": "English", "Pages": 494 }, "Price": [ { "type": "Hardcover", "price": 16.65 }, { "type": "Kindle Edition", "price": 7.00 } ] }
#include <C_CkJsonObjectW.h> #include <C_CkJsonArrayW.h> void ChilkatSample(void) { HCkJsonObjectW json; BOOL success; int index; HCkJsonObjectW detail; HCkJsonArrayW aPrice; HCkJsonObjectW priceObj; json = CkJsonObjectW_Create(); // The only reason for failure in the following lines of code would be an out-of-memory condition.. // An index value of -1 is used to append at the end. index = -1; success = CkJsonObjectW_AddStringAt(json,-1,L"Title",L"The Cuckoo's Calling"); success = CkJsonObjectW_AddStringAt(json,-1,L"Author",L"Robert Galbraith"); success = CkJsonObjectW_AddStringAt(json,-1,L"Genre",L"classic crime novel"); // Let's create the Detail JSON object: success = CkJsonObjectW_AddObjectAt(json,-1,L"Detail"); detail = CkJsonObjectW_ObjectAt(json,CkJsonObjectW_getSize(json) - 1); success = CkJsonObjectW_AddStringAt(detail,-1,L"Publisher",L"Little Brown"); success = CkJsonObjectW_AddIntAt(detail,-1,L"Publication_Year",2013); success = CkJsonObjectW_AddNumberAt(detail,-1,L"ISBN-13",L"9781408704004"); success = CkJsonObjectW_AddStringAt(detail,-1,L"Language",L"English"); success = CkJsonObjectW_AddIntAt(detail,-1,L"Pages",494); CkJsonObjectW_Dispose(detail); // Add the array for Price success = CkJsonObjectW_AddArrayAt(json,-1,L"Price"); aPrice = CkJsonObjectW_ArrayAt(json,CkJsonObjectW_getSize(json) - 1); // Entry entry in aPrice will be a JSON object. // Append a new/empty ojbect to the end of the aPrice array. success = CkJsonArrayW_AddObjectAt(aPrice,-1); // Get the object that was just appended. priceObj = CkJsonArrayW_ObjectAt(aPrice,CkJsonArrayW_getSize(aPrice) - 1); success = CkJsonObjectW_AddStringAt(priceObj,-1,L"type",L"Hardcover"); success = CkJsonObjectW_AddNumberAt(priceObj,-1,L"price",L"16.65"); CkJsonObjectW_Dispose(priceObj); success = CkJsonArrayW_AddObjectAt(aPrice,-1); priceObj = CkJsonArrayW_ObjectAt(aPrice,CkJsonArrayW_getSize(aPrice) - 1); success = CkJsonObjectW_AddStringAt(priceObj,-1,L"type",L"Kindle Edition"); success = CkJsonObjectW_AddNumberAt(priceObj,-1,L"price",L"7.00"); CkJsonObjectW_Dispose(priceObj); CkJsonArrayW_Dispose(aPrice); CkJsonObjectW_putEmitCompact(json,FALSE); wprintf(L"%s\n",CkJsonObjectW_emit(json)); CkJsonObjectW_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.