gingerBill
4df2de057b
Add Type_Info_Fixed_Capacity_Dynamic_Array to json
2026-03-11 18:43:01 +00:00
Jeroen van Rijn
b6ea6f7a12
Merge pull request #5882 from IllusionMan1212/custom-json-marshalling
...
encoding/json: custom json (un)marshalling
2026-01-01 16:07:01 +00:00
dozn
589dbbddd2
[encoding/json] Fix Escapes When Marshalling
...
Fixes https://github.com/odin-lang/Odin/issues/6060 and https://github.com/odin-lang/Odin/issues/6075
The boolean "true" was setting `html_safe` instead of `for_json`.
Chalk one up for the "use enums instead of booleans" crowd.
2025-12-30 17:02:06 -08:00
dozn
affaefc13a
Moved first_iteration up a couple lines so it makes sense readability-wise.
2025-12-30 04:42:06 -08:00
dozn
ba68d75c6f
Add JSON5/SJSON Comments When Marshalling
...
Allows user-facing JSON5/SJSON to have comments explaining field usage.
`json.Marshal_Options.pretty` must be enabled since we only use single-line comments (not to mention it wouldn't be terribly useful without `pretty` set anyways).
We don't escape anything, so `\n` will display as "\n", but you're still able to enter in a proper newline character and it'll be displayed on multiple lines.
2025-12-29 12:23:54 -08:00
Jeroen van Rijn
83fb7ba952
Make custom JSON (un)marshalers more like core:fmt's
2025-12-10 17:54:12 +01:00
Hisham Aburaqibah
72d65603eb
encoding/json: error handling for custom (un)marshallers
2025-12-02 22:46:35 +02:00
IllusionMan1212
4b9e15786d
encoding/json: custom json (un)marshalling
2025-12-02 22:46:31 +02:00
Courtney Strachan
69ad94d8a8
Followup fix to #4895
2025-10-05 19:22:04 -07:00
Courtney Strachan
6de2d6e8ca
Merge branch 'odin-lang:master' into master
2025-10-06 02:41:44 +01:00
gingerBill
ae02d3d02d
Begin supporting string16 across the core library
2025-08-02 11:55:16 +01:00
Feoramund
b7de15caa3
Clarify strconv.append_* to strconv.write_*
2025-06-05 16:56:00 -04:00
Courtney Strachan
dbbe96ae5c
Fixed json null value parsing
2025-03-02 07:57:23 -08:00
jkenda
51b80c5a20
encoding/json: marshal enumerated arrays to objects with key-value pairs
2025-02-01 10:32:07 +01:00
gingerBill
c440122d93
Remove relative types from json marshaller
2024-11-14 16:18:41 +00:00
gingerBill
02408b713a
Merge pull request #3910 from VladPavliuk/json-add-int-key-map-support
...
Allow to `marshal` and `unmarshal` maps with int keys
2024-07-14 22:00:01 +01:00
gingerBill
399c3ab067
Reduce the size of runtime.Type_Info
2024-07-14 21:37:35 +01:00
VladPavliuk
3f8712edb0
Merge branch 'master' into json-add-int-key-map-support
2024-07-14 18:22:20 +03:00
VladPavliuk
76fe5d1346
Align ignore syntax of json tags with fmt, cbor
2024-07-14 00:21:05 +03:00
VladPavliuk
64ae99f016
Add support of ignore tag for json.marshal
2024-07-13 14:13:59 +03:00
VladPavliuk
dbdad0476d
Allow to marshal and unmarshal maps with int keys
2024-07-13 00:07:48 +03:00
gingerBill
e296d6fb90
Fix loads of indentation issues with mixing spaces and tabs
2024-06-29 19:50:51 +01:00
korvahkh
104ca2ce22
Merge branch 'odin-lang:master' into fix-omitempty-comma
2024-06-13 01:27:44 +00:00
Jeroen van Rijn
601df0e8f7
Port tests\core\encoding\json
2024-06-02 14:47:08 -04:00
korvahkh
a7a6ff8c69
encoding/json: Fix struct marshal() emitting comma after omitted field
...
Previously:
```odin
package main
import "core:fmt"
import "core:encoding/json"
T :: struct {
a: string `json:",omitempty"`,
b: string,
}
main :: proc() {
data, _ := json.marshal(T{b = "foo"})
fmt.println(string(data))
}
```
would output:
```
{,"b":"foo"}
```
which is not correct.
Also cleaned up some whitespace while I'm at it.
2024-05-27 16:59:46 -05:00
IllusionMan1212
65a4a56a83
fix(core/encoding/json): remove Unsupported_Type return when marshalling bit_set
2024-05-25 00:45:30 +02:00
korvahkh
9b759f39fc
encoding/json: Properly marshal #no_nil unions
...
Previously the first variant of a `#no_nil` would always be output as
`null`, and following variants would be treated as the wrong type.
2024-05-11 14:36:56 -05:00
Feoramund
309a770cbf
Fix omitempty in json.marshal
2024-04-27 05:24:59 -04:00
gingerBill
334e08c750
Update numerous package declaration names
2024-04-18 12:17:39 +01:00
gingerBill
fd487f66bc
Add json:"name,omitempty"
2024-04-10 13:40:25 +01:00
gingerBill
d0dc7395e9
Allow for comma-separate json names json:"name,flag"
2024-04-10 13:29:10 +01:00
Laytan Laats
3a0df80066
correct newly found vets
2024-04-03 00:52:58 +02:00
Franz Höltermann
92a5666c1c
Json: fields on structs like 'using _: T' will now have T's fields
...
marshalled directly into the parent type without an '"_":{ ... }'.
This seems like desirable behavior to me, since you can't access the
fields with 'Parent_Type._.field' either.
2024-03-26 20:22:51 +01:00
gingerBill
c05a92ab3e
Merge pull request #3215 from blob1807/json-better-enum-support
...
core:encoding/json Add support for writing enum value names
2024-03-06 14:56:19 +00:00
gingerBill
8d496dc3d0
Fix #3173
2024-03-06 14:51:56 +00:00
gingerBill
5eef29290c
Fix #3250
2024-03-06 11:49:17 +00:00
blob1807
b419615002
Apply suggestions from code review
...
Fixing spelling mistakes pointed out & fixed by layton.
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2024-03-04 21:20:13 +10:00
blob1807
116edb9052
convert spaces to tabs
2024-03-04 15:09:17 +10:00
blob1807
9070e613a4
Return underlining value instead of panicing
...
when no name it found.
Renamed use_enum_value_names to use_enum_names
it get the same point across & inline with the
reflect procs
2024-03-04 15:06:30 +10:00
blob1807
41fbaaf1d3
changed to use reflect.enum_name_from_value_any
2024-03-01 14:53:39 +10:00
blob1807
f14babe419
Merge branch 'odin-lang:master' into json-better-enum-support
2024-03-01 14:24:51 +10:00
gingerBill
a4b8c1ea17
Begin work adding bit_field
2024-02-22 15:55:54 +00:00
blob1807
a95cead8e7
add all inter types to switch
2024-02-21 14:05:50 +10:00
blob1807
c276b1c0bc
replace spaces with tabs
2024-02-21 11:51:29 +10:00
blob1807
b39ef29ec6
add missing comma
2024-02-21 11:15:35 +10:00
blob1807
b2b8b14955
Add better support for Enums in json
...
Can now output enum value's name instead of its underlineing value
2024-02-21 11:07:03 +10:00
blob1807
7e0473dded
Revert json union fix
2024-02-21 11:03:15 +10:00
blob1807
14ee2181cb
Fix bug https://github.com/odin-lang/Odin/issues/3173
2024-02-21 00:42:11 +10:00
gingerBill
3e7e779abf
Replace core:* to base:* where appropriate
2024-01-28 22:18:51 +00:00
Karl Zylinski
9d067ae562
Made sure temp guard for sorting map keys in json marshal code ignores temp allocator
2024-01-22 14:35:05 +01:00