Sample code for 30+ languages & platforms
Zig

Using Chilkat StringBuilder to Avoid Large Strings

See more uncategorized Examples

Some programming languages can have limitations on string lengths, or it can be inefficient to return large strings back to the application, only to be passed back into Chilkat in a subsequent method call.

For Chilkat functions that return a string where the returned string can potentially be very large, there is typically the same function with the name ending in "Sb", where the returned string is deposited into the last argument. This allows for the string remain within an object, and thus never marshalled to/from the application.

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 http = try chilkat.Http.init();
    defer http.deinit();
    const json = try chilkat.JsonObject.init();
    defer json.deinit();

    // This is the potentially inefficient way of getting JSON from a URL and loading it into a Chilkat JsonObject.
    // It gets the string directly..
    const json_str = try http.quickGetStr(alloc, "https://www.chilkatsoft.com/helloWorld.json");
    try json.load(json_str);

    // This is the more efficient method if the JSON is potentially large
    const sb = try chilkat.StringBuilder.init();
    defer sb.deinit();
    try http.quickGetSb("https://www.chilkatsoft.com/helloWorld.json", sb);
    try json.loadSb(sb);
}