Skip to content

mxj

633 2 2 MIT
per (24 Jul 2023) Feb 09 2017 58.1 thousand (month)

mxj is a Go library for working with JSON and XML data. It allows you to convert between JSON and XML, merge JSON and XML documents, and extract values from JSON and XML using a simple and intuitive API.

One of the main features of mxj is its ability to work with JSON and XML data in a struct-like manner, allowing you to access values using dot notation.

Example Use


```go package main

import ( "fmt"

"github.com/clbanning/mxj" )

func main() { // Parse the JSON string jsonData := []byte({ "name": "John Doe", "age": 30, "address": { "street": "Main St", "city": "Anytown", "state": "CA", "zip": "12345" }, "phones": [ "555-555-5555", "555-555-5556" ] }) mv, err := mxj.NewMapJson(jsonData) if err != nil { fmt.Println("Error:", err) return }

// Extract the name name, _ := mv.ValueForPath("name") fmt.Println("name:", name) // "John Doe"

// Extract the city city, _ := mv.ValueForPath("address.city") fmt.Println("city:", city) // "Anytown"

// Extract all phone numbers phones, _ := mv.ValuesForPath("phones") for _, phone := range phones { fmt.Println("phone:", phone) } // "555-555-5555" // "555-555-5556" } ```

Alternatives / Similar


485 v1.5.1 (2026-03-21 10:54:17 ago) Nov 21 2019 compare
276 v1.3.7 (2026-03-30 06:38:20 ago) Oct 15 2019 compare

Other Languages

2,424 1.1.0 (2026-01-22 16:35:24 ago) Feb 09 2022 compare
728 1.8.0 (2026-02-28 00:53:19 ago) Feb 09 2022 compare
403 2.0.0 (2025-03-03 23:10:00 ago) Dec 03 2013 compare
209 0.2.25 (2022-07-06 18:55:03 ago) Feb 09 2022 compare
Was this page helpful?