Search…
JSON操作
JavaScript对象表示法(JSON)是一种轻量级的数据交换格式,便于人们读写。此外,机器生成和/或解析也同样简单。 JSON完全不依赖于语言,因此它是理想的交换格式。
要了解更多关于JSON的信息,请访问: json.org.

解析JSON

解析由另一个应用程序接收的JSON字符串,或在现有应用程序中生成的JSON字符串:
1
import json
2
3
struct Customer {
4
first_name string
5
last_name string
6
hometown string
7
}
8
9
fn main() {
10
customers_string := '[{ "first_name": "Vitor", "last_name": "Oliveira", "hometown": "Rio de Janeiro" }, { "first_name": "Don", "last_name": "Nisnoni", "hometown": "Kupang" }]'
11
customers := json.decode([]Customer, customers_string) or {
12
eprintln('Failed to parse json')
13
return
14
}
15
16
// Print the list of customers
17
for customer in customers {
18
println('$customer.first_name $customer.last_name: $customer.hometown')
19
}
20
}
Copied!

生成JSON

创建用于通信或序列化的JSON字符串也很简单。我们在下面的示例中解码和编码:
1
import json
2
3
struct Customer {
4
first_name string
5
last_name string
6
hometown string
7
}
8
9
fn main() {
10
customer_string := '[{ "first_name": "Vitor", "last_name": "Oliveira", "hometown": "Rio de Janeiro"}]'
11
12
customer := json.decode([]Customer, customer_string) or {
13
eprintln('Failed to parse json')
14
return
15
}
16
17
encoded_json := json.encode(customer)
18
19
println(encoded_json)
20
}
Copied!

练习

1.比较您在最喜欢的语言和V中处理JSON的方式。 2.构建包含地址信息的“Address”结构。 3.使用“Address”结构对包含JSON格式的字符串进行解码和编码。 4.创建两个结构:AddressUser,其中一个用户有许多地址。现在接收一个带有嵌套JSON的字符串,比如'[{ "first_name": "Vitor", "last_name": "Oliveira", "hometown": "Rio de Janeiro", "addresses": [{ street_name: "Rua Princesa Isabel", city: "Rio de Janeiro", country: "Brazil" }] }]',对其进行解码和编码。
Last modified 2yr ago