Sample code for 30+ languages & platforms
Zig

JSON UpdateNumber vs UpdateInt

Demonstrates UpdateNumber vs UpdateString.

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    const json = try chilkat.JsonObject.init();
    defer json.deinit();

    // If a number is too large for a 32-bit signed integer, then call UpdateNumber instead of UpdateInt.
    // The large integer is passed to UpdateNumber as a string, but in the JSON it will be an integer.

    // For example:
    json.updateNumber("largeNumber", "6884556842") catch {};

    // If the integer is small enough for a 32-bit signed integer, then use UpdateInt:
    json.updateInt("reasonableInt", 123456) catch {};

    json.setEmitCompact(false);
    std.debug.print("{s}\n", .{try json.emit(alloc)});

    // The output:
    // Notice the large number passed as a string does not have quotes in the JSON

    // {
    //   "largeNumber": 6884556842,
    //   "reasonableInt": 123456
    // }
}