Code Monkey home page Code Monkey logo

zig-json5's Introduction

A JSON5 parser/stringifier for Zig that resembles the std.json API from the standard library

Installation

Simply get the src/main.zig file using curl or wget:

CURL:

curl https://raw.githubusercontent.com/Himujjal/zig-json5/master/src/main.zig --output json5.zig 

WGET:

wget https://raw.githubusercontent.com/Himujjal/zig-json5/master/src/main.zig -O json5.zig

Docs

The API is similar to the std.json library. Just replace json with json5 wherever possible

For a short tutorial see: Zig JSON in 5 minutes

A simple example:

fn parseStringifyAndTest(input: []const u8, expected: []const u8) !void {
    const a = std.testing.allocator;

    var string = std.ArrayList(u8).init(a);
    defer string.deinit();

    var parser = json5.Parser.init(a, false);
    defer parser.deinit();

    var tree = try parser.parse(input);
    defer tree.deinit();

    try tree.root.json5Stringify(.{}, string.writer());

    std.testing.expect(mem.eql(u8, string.items, expected)) catch |err| {
        std.debug.print("\n == Expected: {s}\n Got: {s} ==\n", .{ expected, string.items });
        return err;
    };
}

zig-json5's People

Contributors

himujjal avatar omgtehlion avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.