Skip to content

unknown path: after map[string]any -> struct #2

@NV4RE

Description

@NV4RE

Problem:

The code encounters an unknown path: Shelf.Orange.Qty error. This happens because the dot package might not be designed to handle nested maps where keys are object

package main

import (
	"fmt"

	"github.com/mowshon/dot"
)

type MyShopStock struct {
	Shelf     map[string]any
	Werehouse map[string]any
}

type Product struct {
	Price float64
	Name  string
	Qty   uint
}

type Inventory struct {
	Name string
	Qty  uint
}

func main() {
	data := &MyShopStock{
		Shelf: map[string]any{
			"Apple":  Product{Price: 1.99, Name: "apple", Qty: 10},
			"Banana": Product{Price: 0.99, Name: "banana", Qty: 5},
			"Orange": Product{},
		},
	}

	obj, err := dot.New(data)
	if err != nil {
		panic(err)
	}

	err = obj.Insert("Shelf.Orange.Qty", 5)
	if err != nil {
		panic(err)
	}

	fmt.Println(data.Shelf["Orange"])
}

https://go.dev/play/p/wBnrgKh67VU

Expected Behavior:

The Insert operation should successfully set the Qty for "Orange" to 5 without errors.

Observations:

It seems the dot package might not be handling nested maps as expected.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions