当前位置: 首页 > 面试题库 >

将数据从JSON字符串覆盖到现有对象实例

柳豪
2023-03-14
问题内容

我想反序列化一个JSON字符串,该字符串不一定包含每个成员的数据,例如:

public class MyStructure
{
   public string Field1;
   public string Field2;
}

假设我有一个实例:

Field1: "data1"
Field2: "data2"

我反序列化一个字符串

{ "Field1": "newdata1" }

结果应该是

Field1: "newdata1"
Field2: "data2"

框架JavascriptSerializerJSON.NET两者都以其反序列化方法返回新对象,因此,我直接想到的唯一方法是使用反射将反序列化的对象与现有对象进行比较,这似乎有很多不必要的开销。理想情况下,某些软件将具有一种方法,其中我传递了对象的现有实例,并且仅字符串中存在的那些成员将被更新。这里的要点是,我希望能够仅将已更改的数据传递到服务器,并更新现有对象。

是否可以使用这些工具中的任何一种,如果没有,是否有关于如何解决问题的任何建议?


问题答案:

遍历源代码(比阅读文档容易得多,是吗?)JSON.NET确实可以实现我想要的功能:

JsonConvert.PopulateObject(string, object)

请参阅Json.NET:填充对象



 类似资料:
  • 我正试图利用谷歌电子表格(谷歌脚本)中的地图功能,使用API从Bittrex获取我的帐户硬币余额。这是我的JSON对象: 理想情况下,我希望根据结果中的键和使用每个对象数据的基础行自动填充标题行。我看到了spme解决方案如何为每种或更复杂的方式使用。但我想这可以通过映射来实现。下面是我如何映射顶行,但不知道如何映射值: 谷歌电子表格中的预期输出为

  • 我正在开发一个Android应用程序。在我的应用程序中,我必须将字符串转换为JSON对象,然后解析值。我检查了Stackoverflow中的解决方案,并在这里的链接中发现了类似的问题 解决办法是这样的

  • 我正在使用com。谷歌。格森。Gson将JSON字符串转换为Java对象的API: 我想知道javax.jsonapi中是否有等效的API来执行等效操作。谢谢!

  • 我正在使用REST服务。我使用swagger编辑器创建了一个API定义,然后我为Springboot服务器生成了代码。在Eclipse中进行了一些更改后,一切正常,但我有一个“问题”,我无法覆盖toString方法以按我想要的方式显示结果。(有一个名为Genre的对象,带有genreId和定义,我不想显示genreId) 这是Controller中的方法实现: 这是Model类中的toString

  • 问题内容: 我正在开发一个Android应用程序。在我的应用程序中,我必须将字符串转换为Json Object,然后解析值。我检查了stackoverflow中的解决方案,并在此处找到了类似的问题链接 解决方案是这样的 我在代码中使用相同的方式。我的绳子是 替换后,我得到了这样的结果 当我执行 我收到以下json异常 请帮助我解决我的问题。 问题答案: 删除斜杠:

  • 问题内容: 我有一个长的JSON字符串,表示从WCF服务返回的string []数组。数组元素只是字符串,不是对象。这是返回数据的示例 我不介意包含在字符串中的索引,但是我需要将字符串解析为Android中的ArrayList,以便可以将其调整为ListView。 由于从技术上讲这些不是JSONObjects,我如何遍历它们并从每个数组元素中提取字符串? 问题答案: 这是有效的JSON字符串数组,