c# - 将 JSON 字符串反序列化为自定义 Java 对象

标签 c# java json

我有一个返回给我的字符串,其格式为 JSON。该字符串如下所示

{ "Type" : "Notification". "MessageId" : "9343.....". "TopicArn" : "arn-....." "......" }

我创建了一个自定义对象,我想将此字符串解析为

public class AmazonSNSMessage 
{
private String Type;
private String Notification;
private String MessageId;
private String TopicArn;
private String Subject;
private String Message;
private String Timestamp;
private String SignatureVersion;
private String Signature;
private String UnsubscribeURL

// And all the appropriate get/set methods
}

Java 中是否有一个 JSON 反序列化器可以获取字符串并创建 AmazonSNSMessage 的实例?

C# 通过调用此行来实现此目的

AmazonSNSMessage b = JsonConvert.DeserializeObject<AmazonSNSMessage>(TheString);

理想情况下我想要类似的东西。

最佳答案

Jackson可以做到这一点:

final ObjectMapper mapper = new ObjectMapper();

final AmazonSNSMessage message 
    = mapper.readValue(yourInput, AmazonSNSMessage.class);

它将自动工作,因为您的字段名称与 JSON 相同!

如果您有更复杂的场景,可以使用注释、自定义反序列化器等。

关于c# - 将 JSON 字符串反序列化为自定义 Java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066417/

相关文章:

c# - 为什么在 C# 中引用和输出?

c# - 防止直接实例化的工厂类

Java 作用域问题

android - 如何在 Android 中为 Firebase 云消息传递 (FCM) 解析 Json 数据

c# - 如何在 C# 中将行筛选的 DataGridView 设置为 DataTable

c# - 我如何检测连接到电脑 USB 的数码相机?还有相机名称

java - 使用 out.write 时分号如何工作?

java - 即使数据库已填充,ResultSet.next() 是否有可能返回空?

java - 如何使用GSON解析变量名JSON对象?

java - Spring MVC、JSON、长度超过 1000 个字符的字符串字段的错误序列化