jakubtomsu
7487d507be
unmarshal bitset ints like cbor does
2024-09-04 11:08:45 +02:00
Jeroen van Rijn
fc5ce30f34
Allow json to unmarshal empty struct.
2024-07-21 00:37:11 +02: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
a422aba578
Json: improved unmarshalling of using _: T fields.
...
`using _: T` fields will now have their members unmarshalled to their
parent types reflecting the new behaviour of json.marshall.
Example:
```go
A :: struct {
using _: B,
}
B :: struct {
field: string,
}
data := `{"field": "Hello World"}`
a: A
json.unmarshal_string(data, &a)
```
2024-03-27 15:46:44 +01: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
6d3a57b4ac
Zero intrinsics.alloca
2024-03-06 13:48:37 +00:00
gingerBill
c7b8f1fb0a
Use intrinsics.alloca rather than context.temp_allocator in json.unmarshal_object
2024-03-06 13:42:38 +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
004cd4933d
Merge branch 'master' of https://github.com/blob1807/Odin
2024-02-21 00:43:27 +10:00
blob1807
14ee2181cb
Fix bug https://github.com/odin-lang/Odin/issues/3173
2024-02-21 00:42:11 +10:00
Kay
5f49b8997a
remove return statement from case Type_Info_Enumerated_Array, as it causes early exit in JSON unmarshalling.
2024-02-12 01:45:11 -06:00
gingerBill
3e7e779abf
Replace core:* to base:* where appropriate
2024-01-28 22:18:51 +00:00
gingerBill
98b539ac5c
Merge pull request #2912 from karl-zylinski/marshal-sort-maps-by-key-and-clone-value
...
JSON: Option to sort marshaled maps before outputting + clone_value proc + small improvements
2024-01-22 14:05:15 +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
gingerBill
0b83e3dae5
Enforce naming the parameters with builtin.quaternion to reduce confusion
2024-01-05 14:29:14 +00:00
Laytan Laats
8c10f4cdde
encoding/json: try to unmarshal into union variants
2024-01-03 19:02:30 +01:00
Karl Zylinski
75cb2c68cc
Cleanup of json.clone_value
2023-11-01 00:57:27 +01:00
Karl Zylinski
942e91f94c
Added temp allocator guard to json.marshal, in case we temp alloc when sorting map kesy
2023-11-01 00:46:01 +01:00
Karl Zylinski
d8f06ed557
Reversed order of sort_maps_by_key check in marshal.odin to make PR comparison clearer.
2023-11-01 00:37:27 +01:00
Karl Zylinski
a73ff00b02
Indentation fix.
2023-11-01 00:33:59 +01:00
Karl Zylinski
a58a08c0c3
JSON: Option to sort marshaled maps before outputting. Also added a json.clone_value proc
2023-11-01 00:23:17 +01:00