aboutsummaryrefslogtreecommitdiff
path: root/core/encoding
diff options
context:
space:
mode:
authordozn <16659513+dozn@users.noreply.github.com>2024-12-28 07:48:09 -0800
committerGitHub <noreply@github.com>2024-12-28 07:48:09 -0800
commitd22cb20d85e0afeb61f6ad26434dd92b9d9b2ff7 (patch)
treeda8b9eaf20b3fd29d68413e5b06f36296bbfd516 /core/encoding
parentad99d20d292ab4708996c935315c36aef58796a8 (diff)
Use Struct Tags For Embedded (with `using`) Structs When Unmarshalling JSON
A fix for https://github.com/odin-lang/Odin/issues/4539
Diffstat (limited to 'core/encoding')
-rw-r--r--core/encoding/json/unmarshal.odin2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/encoding/json/unmarshal.odin b/core/encoding/json/unmarshal.odin
index c70b8d39a..e76de2747 100644
--- a/core/encoding/json/unmarshal.odin
+++ b/core/encoding/json/unmarshal.odin
@@ -470,7 +470,7 @@ unmarshal_object :: proc(p: ^Parser, v: any, end_token: Token_Kind) -> (err: Unm
}
}
- if field.name == key {
+ if field.name == key || (field.tag != "" && reflect.struct_tag_get(field.tag, "json") == key) {
offset = field.offset
type = field.type
found = true