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
(Visual FoxPro) Check if Integer Exists at JSON PathDemonstrates how to get an integer value at a JSON path, and how to check to see if it exists.
LOCAL loJson LOCAL lnSuccess LOCAL lcPath LOCAL lnVal LOCAL lnWasFound * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') * First build simple JSON.. loJson.UpdateInt("test.abc",100) loJson.EmitCompact = 0 ? loJson.Emit() * This is our JSON: * { * "test": { * "abc": 100, * } * } lcPath = "test.notHere" * The call to IntOf will return 0, because it's not present. * But how do we know if it really was present, and the value was truly 0? lnVal = loJson.IntOf(lcPath) ? "val = " + STR(lnVal) * We cannot use LastMethodSuccess because LastMethodSuccess only applies * to methods that: * - return a string * - return a new Chilkat object, binary bytes, or a date/time. * - returns a boolean status where 1 = success and 0 = failed. * - returns an integer where failure is defined by a return value less than zero. * The IntOf method fits none of these requirements, and therefore the LastMethodSuccess * is not a valid indicator.. lnWasFound = loJson.LastMethodSuccess ? "wasFound = " + STR(lnWasFound) + " (not a valid indicator)" * Instead, if the returned value is 0, we can double-check to see if the member was truly there.. IF (lnVal = 0) THEN lnWasFound = loJson.HasMember(lcPath) ? "wasFound = " + STR(lnWasFound) IF (lnWasFound = 1) THEN ? "The value was present and is 0." ELSE ? "no member is present at test.notHere" ENDIF ELSE ? "val = " + STR(lnVal) ENDIF * Alternatively, you could check to see if the member exists beforehand.. IF (loJson.HasMember(lcPath) = 1) THEN ? "val = " + STR(loJson.IntOf(lcPath)) ELSE ? "no member at " + lcPath ENDIF RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.