草庐IT

jsonDecode

全部标签

json - Swift 4 的 JSONDecoder 可以与 Firebase 实时数据库一起使用吗?

我正在尝试解码来自FirebaseDataSnapshot的数据以便可以使用JSONDecoder对其进行解码。当我使用URL通过网络请求访问它(获取数据对象)时,我可以很好地解码该数据。但是,我想使用FirebaseAPI直接获取数据,使用observeSingleEvent,如thispage中所述.但是,当我这样做时,我似乎无法将结果转换为数据对象,我需要使用JSONDecoder。是否可以使用DataSnapshot进行新型JSON解码?这怎么可能?我似乎无法弄清楚。 最佳答案 我创建了一个名为CodableFirebase

json - 是否可以使用 JSONDecoder 解码附加参数?

我们有一些后端返回的响应:{"name":"Somename","number":42,............"param0":value0,"param1":value1,"param2":value2}响应模型结构:structModel:Codable{letname:Stringletnumber:Intletparams:[String:Any]}如何让JSONDecoder将所有未知的键值对组合到params属性中? 最佳答案 Decodable非常强大。它可以完全解码任意JSON,所以这只是该问题的一个子集。对于完全

ios - 如何在 swift 4.1 和 xcode 9.3 中使用 JSONDecoder 解码嵌套的 JSON 数组和对象?

我是iOS的新手,在解码包含许多嵌套数组和对象的嵌套JSON文件时遇到问题。我正在使用JSONDecoder进行解码,但在某处我犯了错误或解码不正确。我的解码器是letmyOrder=tryJSONDecoder().decode(MyOrder.self,from:data!)foritemsinmyOrder.OrderDetials{self.orders.append(MyOrders(order_id:items.order_id!,order_ref_number:items.order_ref_number!,cust_mob:items.cust_mob!,store_

ios - 任意结构的 Swift 4 JSONDecoder 实用函数

我正在尝试创建一个实用函数,它给定一些Data和一个符合Decodable的struct可以将JSON数据解码为结构如下:funcdecodeDataToModel(data:Data?,model:Decodable)->Decodable?{guardletdata=dataelse{returnnil}letobject:Decodable?do{object=tryJSONDecoder().decode(model,from:data)}catchletdecodeErr{print("Unabletodecode",decodeErr)}returnobject}这会引发错

json - 如何将 Swift JSONDecode 与动态类型一起使用?

我的应用程序有一个本地缓存并从/向服务器发送/接收模型。所以我决定构建一个映射[String:Codable.Type],主要是为了能够解码我在这个通用缓存上拥有的任何内容,无论是本地创建的还是从服务器接收的。letencoder=JSONEncoder()letdecoder=JSONDecoder()varmodelNameToType=[String:Codable.Type]()modelNameToType=["ContactModel":ContactModel.Self,"AnythingModel":AnythingModel.Self,...]无论我在应用程序上创建什

flutter - flutter中的json.decode和jsonDecode有什么区别?

我正在制作flutter应用程序,我很困惑应该使用json.decode还是jsonDecode来从API解析和解码JSON。使用哪一个? 最佳答案 我猜是isthesamejsonDecode正在调用json.decode 关于flutter-flutter中的json.decode和jsonDecode有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5552038

Swift 的 JSONDecoder 在 JSON 字符串中具有多种日期格式?

Swift的JSONDecoder提供了一个dateDecodingStrategy属性,它允许我们定义如何根据DateFormatter对象解释传入的日期字符串。但是,我目前使用的API会同时返回日期字符串(yyyy-MM-dd)和日期时间字符串(yyyy-MM-ddHH:mm:ss),具体取决于属性。有没有办法让JSONDecoder处理这个问题,因为提供的DateFormatter对象一次只能处理一个dateFormat?一个拙劣的解决方案是重写随附的Decodable模型以仅接受字符串作为它们的属性并提供公共(public)Dategetter/setter变量,但这看起来像对

arrays - 如果单元素解码失败,Swift JSONDecode 解码数组将失败

在使用Swift4和Codable协议(protocol)时,我遇到了以下问题-似乎没有办法允许JSONDecoder跳过数组中的元素。例如,我有以下JSON:[{"name":"Banana","points":200,"description":"AbananagrowninEcuador."},{"name":"Orange"}]还有一个Codable结构:structGroceryProduct:Codable{varname:Stringvarpoints:Intvardescription:String?}解码这个json时letdecoder=JSONDecoder()l

json - 使用 Swift 4 中的 JSONDecoder,缺少的键可以使用默认值而不是可选属性吗?

Swift4添加了新的Codable协议(protocol)。当我使用JSONDecoder时,它似乎要求我的Codable类的所有非可选属性在JSON中有键,否则会引发错误。让我的类的每个属性都是可选的似乎是不必要的麻烦,因为我真正想要的是使用json中的值或默认值。(我不希望该属性为零。)有没有办法做到这一点?classMyCodable:Codable{varname:String="DefaultAppleseed"}funcload(input:String){do{ifletdata=input.data(using:.utf8){letresult=tryJSONDeco
12