{
frameData = {
eStatus = Active;
frameId = 12;
"frame_IMEI" = frrrrr;
"frame_name" = "EHTPKEIWPR_frrrrr";
"frame_token" = "";
"frame_user" = 7;
"is_frameowner" = 1;
ownerName = jyoti;
"owner_picture" = "http";
};
message = "Frame added successfully.";
status = 1;
}
import UIKit
import ObjectMapper
class AddFrameCodeModel: Mappable {
var status : Bool?
var message : String?
var frameData : [FrameDataModel]?
required init?(_ map: Map) {
mapping(map)
}
func mapping(map: Map) {
status <- map["status"]
message <- map["message"]
frameData <- map["frameData"]
}
}
class FrameDataModel : Mappable {
var frame_name : String?
var eStatus :String?
var frame_IMEI : String?
var frame_token : String?
var frame_user : String?
var frameId : String?
var is_frameowner : Bool?
var ownerName : String?
var owner_picture : String?
required init?(_ map: Map) {
mapping(map)
}
func mapping(map: Map) {
frame_name <- map["frame_name"]
eStatus <- map["eStatus"]
is_frameowner <- map["is_frameowner"]
frame_IMEI <- map["frame_IMEI"]
frame_token <- map["frame_token"]
frame_user <- map["frame_user"]
frameId <- map["frameId"]
ownerName <- map["ownerName"]
owner_picture <- map["owner_picture"]
}
}
let addFrameCodeData = Mapper<AddFrameCodeModel>().map(JSONObject)
您可以删除FrameDataModel类型中的括号,因为它不是字典响应数组,并执行一些“自定义转换”,如下https://github.com/hearst-dd/objectMapper所示。
但是我建议您保留JSON提供的类型,或者将其中一些设置为anyObject,然后在map函数中处理所有的强制转换。
我还将为“framedata”创建一个独立的模型,并将其作为一个对象。
import ObjectMapper
var status : Int?
var message : String?
var frameData : FrameDataResponse?
required init?(_ map: Map){}
func mapping(map: Map)
{
status <- map["status"]
message <- map["message"]
frameData <- map["frameData"]
}
class FrameDataResponse : Mappable{
var eStatus = String?
var frameId = Int?
var frame_IMEI = String?
var frame_name = String?
var frame_token = String
var frame_user = Int?
var is_frameowner = Int?
var ownerName = String?
var owner_picture = String?
required init?(_ map: Map){}
func mapping(map: Map)
{
eStatus <- map["eStatus"]
frameId <- map["frameId"]
frame_IMEI <- map["frame_IMEI"]
frame_name <- map["frame_name"]
frame_token <- map["frame_token"]
frame_user <- map["frame_user"]
is_frameowner <- map["is_frameowner"]
ownerName <- map["ownerName"]
owner_picture <- map["owner_picture"]
}
}
let eStatus: String
let id: String
let imei: String
let name: String
let token: String
let user: Int
let isOwner: Int
let ownerName: String
let ownerPicture: String
init(eStatus: String, id: String, imei: String, name: String, token: String, user: Int, isOwner: Int, ownerName: String, ownerPicture: String) {
self.eStatus = eStatus
self.id = id
self.imei = imei
self.name = name
self.token = token
self.user = user
self.isOwner = isOwner
self.ownerName = ownerName
self.ownerPicture = ownerPicture
}
}
对于映射函数,请尝试以下操作:
导入基础
let status : String = jsonResponse.status!
let message : String = jsonResponse.message!
//if you changed the types in the frameDataModel, you will need to cast it here
let frameData : FrameDataModel = FrameDataModel(eStatus: jsonResponse.message!,
id: jsonResponse.frameId!,
imei: jsonResponse.frame_IMEI!,
name: jsonResponse.frame_name!,
token: jsonResponse.frame_token!,
user: jsonResponse.frame_user!,
isOwner: jsonResponse.is_frameowner!,
ownerName: jsonResponse.ownerName!,
ownerPicture: jsonResponse.owner_picture!)
return (status, message, frameData)
}
问题内容: 我正在使用ObjectMapper(https://github.com/Hearst- DD/ObjectMapper )将JSON映射到Swift对象。 说我有这个JSON结构: 我有以下Swift对象: 如何使用JSON对象中的键区分映射和映射?非常感谢! 问题答案: 细节 Xcode 10.2.1(10E1001),Swift 5 json档案 ObjectMapper示例 检
我是java新手,正在尝试学习objectmapper。我正在使用它将地图转换为pojo。地图中的键是字符串,所有值都是字符串值,除了我想转换为地图的值。请仔细阅读下面的示例代码,以获得更清晰的图片。 POJO类: 测试代码: 例外: 尝试的变体选项: 我知道我可以将map1字段也保留为String,然后使用另一个对象映射器实例将其转换为map,但我想避免它。有没有办法直接将测试代码中的字符串转换
我可以使用Jackson ObjectMapper将JSON文件中的数据直接加载到我自己的数据结构中吗?我试图从一个JSON文件中加载一个对象映射,但不知道该怎么做。 例如,给定: 我想在JSON文件中创建/加载视图映射。如果我的JSON是: 我希望能够将所有内容加载到地图中。 我尝试了以下方法,但没有成功。它只是将所有内容加载到地图中: 我猜我的错误是告诉制图员把它当作地图来读。类,但不确定如何
问题内容: 首先,我正在使用NEST 5.5.0。 我对远程elasticsearch-index有以下用法: 索引中的映射(除了cvrNummer之外没有其他属性)如下: 我还有下面的类,其结果应该映射到: 现在,搜索(searchResponse)保留了预期的结果(1个结果),其中与cvrNummer有关的部分如下所示: 但是,当我查找searchResponse.Documents时,我具有
问题内容: 我们有一张有很多列的大桌子。移至MySQL Cluster后,由于以下原因无法创建表: 错误1118(42000):行大小太大。不包括BLOB在内的已使用表类型的最大行大小为14000。这包括存储开销,请查阅手册。您必须将某些列更改为TEXT或BLOB 举个例子: 这是用于存储配置参数的表。我在想,我们可以将一些列合并为一个列,并将其存储为JSON对象,然后将其转换为Java对象。 例
我是golang的新手,正在尝试解析来自web服务的一些响应,响应看起来像这样: 您可以看到每个元素都有一个键“数据”和“类型”(必须),但不同的“类型”会带来不同的“数据”字段。 你能建议一种有效的方法来构建这种对Golang结构的响应吗? 谢谢你。
注:内容翻译自官网文档 Language Guide (proto3) 中的 JSON Mapping 一节 Proto3支持JSON格式的标准编码, 让在系统之间分享数据变得容易. 编码在下面的表格中以type-by-type的基本原则进行描述. 如果一个值在json编码的数据中丢失或者它的值是null, 在被解析成protocol buffer时它将设置为对应的默认值.如果一个字段的值正好是p
编辑: 像这样: