- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要添加额外的 bool 字段来制作可选择的品牌和型号表。原始 json 结构是:
{
"brands": [
{
"id": "19",
"name": "Audi",
"sort": "1",
"num": 1,
"models": [
{
"id": "190",
"name": "TTS",
"num": 1
},
{
"id": "189",
"name": "TT",
"num": 2
},
{
"id": "188",
"name": "V8",
"num": 3
},
{
"id": "187",
"name": "SQ5",
"num": 4
}
],
......
我需要在品牌和型号结构中添加 isExpished: Bool = false。所以数组应该是这样的:
{
"brands": [
{
---> "isExpanded": false,
"id": "19",
"name": "Audi",
"sort": "1",
"num": 1,
"models": [
{
---> "isExpanded": false,
"id": "190",
"name": "TTS",
"num": 1
},
我的模型:
struct auto_data: Decodable {
var brands: [brands]
var gearbox: [gearbox]
var fuel: [fuel]
var version: String
}
struct brands: Decodable {
var id: String
var name: String
var sort: String
var num: Int
var models: [brand_models]
}
struct brand_models: Decodable {
var id: String
var name: String
var num: Int
}
获取 json 我使用:
func get_data (order_type: String, localization: String, version: String, completion: @escaping ([brands]?) -> Void) {
let encodedBodyParams = "order_type=\(order_type)&localization=\(localization)&version=\(version)"
let url = URL(string: "http://skat.az/forapi/api/get_data.php")
Alamofire.request(url!, method: .post, parameters: [:], encoding: encodedBodyParams, headers: [:]).responseJSON { (response) in
if response.result.isSuccess {
LÀM {
let result = response.data
let data = try JSONDecoder().decode(auto_data.self, from: result!)
completion(data.brands)
} catch {
print("Error: \(error)")
}
print("models ОК!")
} khác {
print("error response: \(String(describing: response.error))")
completion(nil, nil, nil)
}
}
}
我不想遍历数组的所有元素并将它们放入另一个具有正确结构的元素中。还有其他方法可以改变数组的结构吗?
1 Câu trả lời
首先请遵守结构体和类名以大写字母开头且驼峰命名的命名约定。单数形式的进一步名称结构。就语言语义而言,您正在创建一个 BrandModel
,而不是一个 BrandModels
如果您需要在符合 Decodable
的结构中添加自定义成员,则必须指定 CodingKeys
在大多数情况下,将解码后的结构成员声明为常量就足够了 (cho phép
)
struct Brand: Decodable {
private enum CodingKeys : String, CodingKey {
case id, name, sort, num, models
}
var isExpanded = false
let id: String
let name: String
let sort: String
let num: Int
let models: [BrandModel]
}
struct BrandModel: Decodable {
private enum CodingKeys : String, CodingKey {
case id, name, num
}
var isExpanded = false
let id: String
let name: String
let num: Int
}
关于arrays - 如何在json数组结构中添加附加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50084804/
Gần đây tôi mới bắt đầu học MongoDB. Hôm nay giáo viên dạy chúng tôi lệnh mongoexport. Trong khi thực hành, tôi đã gặp phải một vấn đề điển hình mà không có học viên nào khác, kể cả huấn luyện viên, từng gặp phải. Tôi đang sử dụng Mongo trên máy Windows 10 của mình
Tôi mới tìm hiểu về JSON Schema và đã đọc bài JSON Schema là gì cùng nhiều bài viết khác. Nhưng tôi không biết cách liên kết JSON Schema với JSON để xác thực với JSON Schema đó. Có ai có thể giải thích được điều này không?
Trong xml, tôi có thể đưa một tệp vào một tệp xml khác và sử dụng tệp đó. Nếu phần mềm của bạn lấy các tệp cấu hình từ xml nhưng không có cách nào để tách cấu hình, như apache/ngnix (nginx.conf - site-av
Tôi có một đối tượng JSON chứa một chuỗi, bản thân chuỗi này cũng là một đối tượng JSON. Tôi có thể hủy tuần tự hóa nó như thế nào? Tôi muốn có thể làm điều gì đó như thế này: #[derive(Deserialize)] struct B { c: S
Hãy xem xét JSON sau { "a": "{\"b\": 12, \"c\": \"test\"}" } Tôi muốn định nghĩa một Reader Reads[Outer[T]] chung cho lệnh nhập Json được tuần tự hóa này
đóng cửa. Câu hỏi này không đáp ứng được hướng dẫn của Stack Overflow. Hiện tại câu hỏi này không chấp nhận câu trả lời. Bạn muốn cải thiện vấn đề này? Cập nhật câu hỏi để nó phù hợp với chủ đề của Stack Overflow. Đã đóng 11 tháng trước. Cải thiện
Dự án cũ của tôi có dữ liệu ở định dạng JSON chuẩn trong MySQL. Đối với dự án hoàn toàn mới của tôi trong JS (Node.js) và DynamoDB, liên quan đến định dạng JSON chuẩn: Có nên chuyển đổi nó thành
Chuỗi giá trị JSON, số, đúng, sai, null có phải là JSON hợp lệ không? Nghĩa là, liệu đây có thực sự là một tài liệu JSON hợp lệ không? Hay nó phải là một mảng/đối tượng? Một số trình xác thực chấp nhận điều này (ví dụ: http://jso
Tôi có một chuỗi JSON và một trong các trường là trường văn bản. Trường văn bản này có thể chứa văn bản mà người dùng nhập vào UI và nếu văn bản họ nhập là văn bản JSON, có lẽ để tính đến một số mã hóa, tôi cần mã hóa văn bản của họ để nó không
Tôi đang xử lý dữ liệu thông qua lệnh gọi IBM MQ và khi được tuần tự hóa bằng ColdFusion 10 (10,0,11,285437), 0 được trả về là +0.0, dẫn đến JSON không hợp lệ và không thể hủy tuần tự hóa. stPol
Tôi đang tạo một hàm băm từ ba mảng và sau đó cố gắng xây dựng một tệp json. Tôi đã thành công với đối tượng json có mảng. yêu cầu 'json' A = [['A1', 'A2', 'A3'],
Tôi nhận được JSON từ API và phản hồi có thể là một trong 30 loại. Mỗi loại có một tập hợp các trường riêng, nhưng tất cả các phản hồi đều có một loại trường cho biết đó là loại nào. Cách tiếp cận của tôi là sử dụng serde. Tôi tạo một cấu trúc cho mỗi loại phản hồi và
Tôi đang tải xuống tệp JSON mà tôi đã kiểm tra là JSON hợp lệ với "https://jsonlint.com" vào thư mục tài liệu. Sau đó tôi mở tệp và kiểm tra lại thì thấy tệp đó là JSON không hợp lệ. Làm sao điều này có thể xảy ra được? ? ? ? Đây là
Tôi đang cố gắng tạo động một đối tượng JSON dựa trên dữ liệu nhận được từ API. Dữ liệu mẫu đã nhận: Giải mã dữ liệu thành cấu trúc CiItems được đưa ra bên dưới { "class_name": "test", "
Tôi muốn chuyển đổi từ chuỗi sang đối tượng. Từ {"key1": "{\n \"key2\": \"value2\",\n \"key3\": {\n \"key4\": \"value4\"\n }\n
Hiện tại tôi đang sử dụng mã sau để chuyển đổi json lồng nhau thành json phẳng: import ( "fmt" "github.com/nytlabs/gojsonexplode" ) func
Tôi có một ứng dụng sử dụng dữ liệu từ API của bên thứ ba. Tôi cần giải mã json thành một struct, yêu cầu struct phải có thẻ json cho trường json "đến". Các trường json gửi đi có quy ước đặt tên khác nhau nên tôi cần các quy ước khác nhau
Tôi muốn sử dụng JSON Schema để xác thực một số giá trị. Tôi có hai đối tượng, gọi chúng là trackedItems và trackedItemGroups. trackedItemGroups là tên nhóm và trackedItem
Hãy xem xét lược đồ lớp trường hợp sau, lớp trường hợp Y (a: Chuỗi, b: Chuỗi) lớp trường hợp X (giả: Chuỗi, b: Y) Trường b là tùy chọn và một số tập dữ liệu của tôi không có trường.
Tôi đang lưu trữ đầu ra của lệnh cat ~/path/to/file/blah | jq tojson trong một biến để sử dụng sau này trong curl POST với nội dung JSON. Nó hoạt động tốt, nhưng nó xóa hết các ngắt dòng. Tôi biết
Tôi là một lập trình viên xuất sắc, rất giỏi!