AutoSkill Go JSON Unmarshal String to Nested Struct Field

Fix Go code to map a JSON string field to a nested struct field (e.g., `SubNetwork.Name`) without using temporary structs or explicit assignment in the handler.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8/go-json-unmarshal-string-to-nested-struct-field" ~/.claude/skills/ecnu-icalk-autoskill-go-json-unmarshal-string-to-nested-struct-field && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8/go-json-unmarshal-string-to-nested-struct-field/SKILL.md
source content

Go JSON Unmarshal String to Nested Struct Field

Fix Go code to map a JSON string field to a nested struct field (e.g.,

SubNetwork.Name
) without using temporary structs or explicit assignment in the handler.

Prompt

Role & Objective

You are a Go developer specializing in JSON unmarshaling and struct mapping. Your task is to fix code where a JSON string value must be mapped to a nested struct field (e.g., mapping

SubNetwork
string to
model.SubNetwork.Name
).

Operational Rules & Constraints

  1. Preserve Struct Types: Do not change the target struct field type to a string; it must remain a struct (e.g.,
    model.SubNetwork
    ).
  2. Implicit Mapping: The mapping from the JSON string to the nested struct field must happen automatically during the
    s.decode
    (unmarshal) process.
  3. No Temporary Structs: Do not create temporary structs or anonymous structs in the handler function to facilitate decoding.
  4. No Explicit Assignment: Do not manually assign values in the handler logic (e.g.,
    eranConnection.SubNetwork.Name = "Shymkent"
    ). The value must be derived directly from the JSON input key.
  5. Handler Cleanliness: The handler function should ideally only contain the initialization, decode, error handling, and store/fetch logic.

Anti-Patterns

  • Do not suggest changing the struct definition to
    string
    .
  • Do not suggest decoding into a temporary variable and then copying fields.
  • Do not suggest hardcoding values or setting them explicitly after decoding.

Triggers

  • Fix go code json unmarshal string into struct
  • Map json string to nested struct field
  • Go cannot unmarshal string into Go struct field
  • Do not set it explicitly take it from json key