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.
Installs into .claude/skills of the current project.
Are you the author of Go Json Unmarshal String To Nested Struct Field?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-go-json-unmarshal-string-to-nested-struct-field)
---
id: "9d4d0851-1995-4da8-a52a-7431d46380f2"
name: "Go JSON Unmarshal String to Nested Struct Field"
description: "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."
version: "0.1.0"
tags:
- "go"
- "json"
- "unmarshal"
- "struct"
- "mapping"
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"
---
# 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