PHP json_decode返回错误代码4
我以前曾问过同样的问题.我想从: http://pad.skyozora.com/data/pets. JSON .以下是我之前使用的代码: 从最后一个答案开始,我知道JSON返回中有UTF8 DOM.我尝试了一个类似问题的答案: >,但是所有答案对我不起作用. 在做更多的研究之后,我找到了一种有效的方法:
0 2023-05-27
编程技术问答社区
在PHP中检查一个字符串是否为JSON的最快方法?
我需要一种非常非常快的方法来检查字符串是否为JSON.我觉得这不是最好的方法: function isJson($string) { return ((is_string($string) && (is_object(json_decode($string)) || is_array(json_decode($string))))) ? true : false; } 有任何表演爱好者都想改进这种方法? 解决方案 function isJson($string) { json_decode($string); return json_last_error() === JSON_ERROR_NONE; } 其他解决方案 回答问题 函数json_last_error返回的最后一个错误发生在JSON编码和解码过程中.因此,检查有效JSON的最快方法是 // decode the JSON
0 2023-05-25
编程技术问答社区
JavaRX分页在每个interration中观察,而不是在泛型分页器的末尾观察
我正在使用分页的API. 我已经使用了以下解决方案,该解决方案由 adam Millerchip 并且效果很好. import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.function.Function; import io.reactivex.Flowable; import io.reactivex.Single; import io.reactivex.processors.BehaviorProcessor; public class Pagination { // Fetch all pages and return the items contained in those pages, using the provided page fetcher function
0 2023-05-16
编程技术问答社区
在GSON中基于字段名的相同类型序列化,无需注释
给出了我无法修改的课程 class ThirdPartyDTO { Instant foo; Instant bar; // many more fields. } i具有使用两个不同模式代表foo和bar的类的JSON表示. 如果字段名称为foo,请使用此模式,如果字段名称为bar,请使用其他模式. 我该如何使用gson执行此操作,而不会在每个字段名称上添加(因为我不能)注释? 谢谢. 解决方案 因此,正如我在上面的评论中提到的那样,GSON类型适配器无法访问它们序列化或值得序列化的对象的完整上下文.例如,单个类型(层次结构)的类型适配器并不真正知道它可以应用于哪个字段(这是帖子中的问题).为了将不同类型的适配器应用于不同字段,可以使用JsonSerializer和JsonDeserializer(因此,必须手动处理每个字段,这是一项乏味的工作).这里的另一个不好的事情是,应该处理这样的DTO的ReflectiveTypeAdapterF
4 2023-05-16
编程技术问答社区
使用Kotlin序列化对通用对象进行反序列化
我试图通过我正面临一些问题来阐明通用对象,我已经设置了一个简单的示例,说明了我要实现的目标: @Serializable data class ContentMessageDto( val method: String, val content: T ) @Serializable private data class DummyObjectNonNullProperties( val value: Int, @SerialName("aaa") val someProp: String, val bbb: Boolean, val ccc: Double ) interface MyParser { fun parseContentMessage( json: String ): ContentMessageDto } class MyParserImpl(private v
12 2023-04-21
编程技术问答社区
用数值作为类型标识符的serde对json进行反序列化
我是Rust的新手,来自OOP背景.所以,也许我误解了一些生锈的基础知识. 我想用Serde解析固定的JSON结构.该结构代表不同的消息类型之一.每个消息都有一个数字type属性来区分它.单个消息类型的确切结构主要变化,但它们也可以相同. {"type": 1, "sender_id": 4, "name": "sender", ...} {"type": 2, "sender_id": 5, "measurement": 3.1415, ...} {"type": 3, "sender_id": 6, "measurement": 13.37, ...} ... 首先,我定义了一个enum以区分消息类型,也为每种类型的消息struct区分struct,而无需存储类型的字段. #[derive(Debug, Serialize, Deserialize)] #[serde(tag = "type")] enum Message { T1(Type1),
8 2023-04-19
编程技术问答社区
推荐用非模型字段序列化Django RawQuerySet的方法
像SELECT *, 'hello' AS world FROM myApp_myModel一样,我想将其序列化为JSON. 似乎没什么大不了的,而且有很多类似的问题,但似乎没有一个人给出直接的答案. 到目前为止,我已经尝试过: data = myModel.objects.raw(query) # gives: ModelState is not serializable json.dumps([dict(r.__dict__) for r in data]) # doesn't serialize 'world' column, only model fields: serializers.serialize('json', data) #dear God: for r in data: for k in dict(r.__dict__): print(getattr(r,k)) 解决方案 问题: 内置 django cor
30 2023-04-17
编程技术问答社区
Json.NET-反序列化接口属性会产生错误 "类型是一个接口或抽象类,不能被实例化"
我有一个类,带有接口的属性. public class Foo { public int Number { get; set; } public ISomething Thing { get; set; } } 尝试使用JSON.NET进行Foo类别的Foo类,给我一个错误消息,例如: Could not create an instance of type ISomething. Type is an interface or abstract class and cannot be instantiated. 来自类似的问题,我可以看到使用TypeNameHandling = TypeNameHandling.Objects将通过允许JSON.NET在序列化时包含.NET类型名称,从而解决该错误,从而知道其需要将对象划分为哪种混凝土类型. 然而,似乎有当使用TypeNameHandling值以外的TypeNameHandling.No
2 2023-04-14
编程技术问答社区
将嵌套的JSON结构反序列化为Django模型对象
我需要消耗一项服务,该服务发送包含JSON序列化结构的JSON响应,我想在数据库中进行测试和存储 - 我的应用程序使用Django. 业务规则如下: 查询返回始终具有id属性的对象,该属性是唯一整数,通常是createdAt属性和updatedAt属性,都带有dateTime数据,然后是其他几个属性的属性类型(int,float,str,dateTime等)以及几个可以是另一个对象或对象数组的属性. 如果属性值是对象,则父母通过"外键"与之相关.如果它是一系列对象,那么我们有两种情况:数组的对象通过"外键"与父的相关,或者是父母和阵列的每个成员都通过"多一对一"相关'关系. 我需要镜像数据库中的每个对象,因此每个模型都有一个id字段,这是主要键,但没有自动化,因为将带有导入数据的真实ID. 所有这些实体之间的关系已经在我的模型架构中反映了. 我采用了这种方法(镜像数据结构),因为如果我将收到的数据弄平以将其全部保存到一个表中,则将有可怕的复制,无视所有数据归
0 2023-04-14
编程技术问答社区
如何识别Jackson错误中丢失的类型ID?
我正在使用Jackson将JSON写入文本文件,JSON表示从抽象类继承的2类,但无论是否使用过两种类别,该错误也会发生. JSON似乎写得正确,但是在阅读时,我会收到以下错误: Missing type id when trying to resolve subtype of [simple type, class model.BaseContact]: missing type id property 'type' at [Source: (File); line: 52, column: 1] json as follows: { "allContacts" : [ { "type" : "personal", "addressCity" : "Hamilton", "addressNum" : "199", "addressPOBox" : null, "addressPostCode" : null,
2 2023-04-14
编程技术问答社区
在编译时使用serde_json对文件进行反序列化
在程序开始时,我从文件中读取数据: let file = std::fs::File::open("data/games.json").unwrap(); let data: Games = serde_json::from_reader(file).unwrap(); 我想知道,出于以下原因,如何在编译时进行此操作: 性能:无需在运行时进行挑选 可移植性:可以在任何机器上运行该程序,而无需将包含数据包含数据的JSON文件. 我也可能提到,可以仅读取数据,这意味着该解决方案可以将其存储为静态. 解决方案 这很简单,但导致了一些潜在的问题.首先,我们需要处理某些事情:我们要从文件中加载对象的树,还是在运行时解析? 99%的时间,将启动解析为static ref对人来说足够了,所以我将为您提供该解决方案;我最终将您指向"其他"版本,但这需要 lot 更多的工作,并且是特定于域的. 宏(因为它必须是宏),您正在寻找能够在compile time中包含
4 2023-04-14
编程技术问答社区
如何反序列化一个没有名字的JSON数组?
我无法弄清楚如何编写一类,以使json in .net中的对象列表列出. 从JSON规范中,我们了解到这是有效的JSON: [ { "precision": "zip", "Latitude": 37.7668, "Longitude": -122.3959, "Address": "", "City": "SAN FRANCISCO", "State": "CA", "Zip": "94107", "Country": "US" }, { "precision": "zip", "Latitude": 37.371991, "Longitude": -122.026020, "A
6 2023-04-01
编程技术问答社区
JSON的marshall/unmarshal、编码/解码、序列化/反序列化之间的关系和区别?
在GO的JSON软件包中,我看到了marshal,decode和其他功能. 我以为decode与marshal相反,但后者意识到我可能错了. 我认为我的基本问题是: Marshall/Unmarshal,编码/解码以及JSON的序列化/次要化之间的关系和差异是什么? 谢谢. 请参阅此处的示例为什么JSON PAKSEN和这里使用的元帅方法? 解决方案 我个人会说所有这些术语都是同义词,尽管编码/解码较少.在Go Marshal和Unmarshal中,恰好是用于描述以字符串形式转换为对象的JSON的术语,反之亦然.但是,在c#中,这些相同的方法称为序列化和应对序列化,据我所知,术语根本不在(至少在任何性病中都不是). 编码可以用作形容词来描述存储某些数据的格式,最常见的用途可能是字符编码(UTF-8).在Go中,它也被用作描述可以解散/元帅JSON的对象.元帅/Unmarshal始终用作动词,您可以在JSON上采取该动作. 编码也用于参考较
20 2023-03-19
编程技术问答社区
使用Jackson解析深度嵌套的JSON属性
我试图从API>. 中找到一种干净的解析嵌套属性的方法 这是JSON有效载荷的粗略概括: { "root": { "data": { "value": [ { "user": { "id": "1", "name": { "first": "x", "last": "y" } } } ] } } } 我的目标是具有具有firstName和lastName字段的对象的数组. 有人知道干净解析的好方法吗? 现在,我正在尝试创建一个Wrapper类,其中包含用于数据,值,用户等的静态内部类. 我正在使用restTemplate.exchange()调用端点. 解决方案 jsonpath 库library允许一个
6 2023-03-18
编程技术问答社区
Swift'的JSON解码器在一个JSON字符串中具有多种日期格式?
swift的JSONDecoder提供dateDecodingStrategy属性,它使我们能够根据DateFormatter对象定义如何解释传入的日期字符串. 但是,我目前正在使用一个API,该API同时返回日期字符串(yyyy-MM-dd)和DateTime字符串(yyyy-MM-dd HH:mm:ss),具体取决于属性.有没有办法让JSONDecoder处理此操作,因为提供的DateFormatter对象一次只能处理单个dateFormat? 一种ham手方法是重写随附的Decodable模型,以接受字符串作为其属性并提供public Date getter/setter变量,但这对我来说似乎是一个糟糕的解决方案.有什么想法吗? 解决方案 有几种处理方法: 您可以创建DateFormatter子类,该子类首先尝试日期时间字符串格式,然后如果失败,请尝试普通日期格式 您可以给出一个.custom Date解码策略,其中您向Decoder提出Decoder
38 2023-03-16
编程技术问答社区
Jackson反序列化缺少的默认值
我尝试使用以下代码在API中收到的JSON对象进行测试: ObjectMapper mapper = new ObjectMapper(); ExampleDto ed = mapper.readValue(req.body(), ExampleDto.class); 我的班级使用Lombok生成构造函数,getters和setter,看起来像这样: @Data @AllArgsConstructor @NoArgsConstructor public class ExampleDto { private String name = ""; private List values = new LinkedList(); } 这两个属性都应是可选的,并使用类定义中指定的默认值(如果不提供).但是,如果我现在尝试将JSON 估算 {name: "Foo"} values字段是null.从我的理解和我发现的所有示例代码中,valu
0 2023-03-14
编程技术问答社区
在kotlin中Gson反序列化整数阵列
通常,当我对json弦值时,我会使用类似的东西: val result = gson.fromJson(json, object : TypeToken() {}.type) ,但是现在我想对一个简单的int列表进行挑选,我无法为此构建一个对象. JSON弦非常简单,看起来像这样: [1,35,37,255] 我想将其保存到列表中,但 val result = gson.fromJson>(json, object : TypeToken>() {}.type) 由于没有对象而行不通.我应该如何处理如此简单的结构?如果没有GSON,EG会更好吗? 解决方案 我认为您在Kotlin中不需要使用TypeToken,您可以像 那样去 val result = gson.fromJson>(json) 在这里,如果您想阅读更多 其
2 2023-03-10
编程技术问答社区
从有2个对象的json文件中下载列表的值
我想创建简单的游戏,我需要从JSON获得值或更改它们. 我有3堂课. public class Person { public string Specjality { get; set; } public int PWZ { get; set; } public string Name { get; set; } public string Surname { get; set; } public List Items { get; set; } } public class Monster { public string Name { get; set; } public List Skills { get; set; } } public class Root { public List people { get; set; } public List
2 2023-03-10
编程技术问答社区
将射击字符串响应(列表<list <int >>)转换为kotlin列表
im卡在可能有一个简单的解决方案上. 我有一个列表的字符串表示形式,例如: "[[1, 2, 3], [4, 5, 6]]" 换句话说,一个包含2个整数列表的列表 如何将字符串转换为kotlin中列表的列表对象? 解决方案 您可以使用 kotlinx.serialization deserialize json! 作为独立的kotlin脚本: @file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.0") import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json val s = "[[1, 2, 3], [4, 5, 6]]" val j = Json.decodeFromString>>(s) println(j)
12 2023-03-10
编程技术问答社区