Comments (2)
Using json
also works:
module main
import json
const data = '
{
"comments": {
"26788945": {
"id": "26788945",
"message": "some comment 1"
},
"26788946": {
"id": "26788946",
"message": "some comment 2"
},
"26788947": {
"id": "26788947",
"message": "some comment 3"
}
}
}
'
struct Comment {
id string
message string
}
struct Comments {
mut:
comments map[string]Comment
}
fn main() {
root := json.decode(Comments, data)!
println(root)
}
from v.
Note that a more manual version of the program works:
module main
import x.json2
const data = '
{
"comments": {
"26788945": {
"id": "26788945",
"message": "some comment 1"
},
"26788946": {
"id": "26788946",
"message": "some comment 2"
},
"26788947": {
"id": "26788947",
"message": "some comment 3"
}
}
}
'
struct Comment {
id string
message string
}
struct Comments {
mut:
comments map[string]Comment
}
fn main() {
mut root := Comments{}
for k, v in json2.raw_decode(data)!.as_map()['comments']!.as_map() {
comment := json2.decode[Comment](v.str())!
root.comments[k] = comment
}
println(root)
}
producing:
Comments{
comments: {'26788945': Comment{
id: '26788945'
message: 'some comment 1'
}, '26788946': Comment{
id: '26788946'
message: 'some comment 2'
}, '26788947': Comment{
id: '26788947'
message: 'some comment 3'
}}
}
I expected that root := json2.decode[Comments](data)!
would produce the same.
from v.
Related Issues (20)
- C error when returning a fixed-size array (NOTE: initialization with a for loop doesn't help) HOT 2
- C error when initializing fixed-size array HOT 2
- Returning fixed size arrays is still making C errors, even with the size being a normal int HOT 2
- C error - multiple returns values and fixed arrays
- Issue with Sokol and STBI openning images.
- cgen: Free optional string
- const name shadowing HOT 3
- -autofree fails on if statement containing strings
- rand.pcg32 breaks -autofree
- volt.im (the volt instant messaging platform written in v) doesnt work
- cgen: free optional map array
- Can't build tagged versions anymore HOT 5
- radamsa HOT 1
- V parser segfault, when run with `-silent`, discovered through radamsa HOT 2
- mysql bug on macosx
- parser crash, discovered through radamsa HOT 6
- parser panic for reaching eof too many times, discovered through radamsa
- V parser panic, discovered through radamsa, when using `cmd/tools/measure/parser_speed` HOT 1
- V parser segfault with `v -silent bug6.v`, discovered through radamsa HOT 2
- V parser segfault with `-silent`, discovered with radamsa, for a very long `-----n----m------` pattern. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from v.