我是 JSON 新手,请原谅我的无知。我需要获取像这样的 JSON 对象:
jsonString =
{
"Key": {"AppID":"19","Username":"sompoRoot","Password":"11223344"},
"deviceList": ["43ab48a0eb9f950d9c2498f8c2cfa1e5b8a62687479cfad849bbc455b88e67b6",
"43ab48a0eb9f950d9c2498f8c2cfa1e5b8a62687479cfad849bbc455b88e67b6"],
"aps": {"alert":"merhaba dunya","sound":"default","badge":"10",
"dictionaryArray":["a","b"],
"production":"false"}
}
我将从数据库获取AppID、用户名和密码。 deviceList 是这样的:43ab48a0eb9f950d9c2498f8c2cfa1e5b8a62687479cfad849bbc455b88e67b6、43ab48a0eb9f950d9c2498f8c2cfa1e5b8a62687479cfad849bbc455b88e 67b6...我将从文本输入中获得警报、声音、徽章字典数组和生成。我得到并转换 String 这些参数。我从网上搜索,但我认为它更复杂,我怎样才能得到像这样的JSON,谢谢。
最佳答案
您在评论中说每个字段都有一个单独的字符串。我建议按照以下方式构建一个包含所有所需字段的 class
(因为 aps
似乎是一个单独的实体,请为其创建一个单独的类):
public class MyClass {
private String key;
private List<String> deviceList;
private Aps aps;
}
public class Aps {
private String alert;
private String sound;
private long badge;
private List<String> dictionaryArray;
private boolean production;
}
有几个库可以帮助您将 Java 对象转换为 JSON,其中之一是 Jackson's ObjectMapper class 。您可以下载该库from their website或者,如果您在项目中使用 Maven
,您可以找到对 mvnrepository.com 的依赖项。 .
使用ObjectMapper
:
ObjectMapper objectMapper = new ObjectMapper();
MyClass myClass = new MyClass();
// .. populate the fields
String jsonString = objectMapper.writeValueAsString(myClass);
您必须将其包含在 try-catch
block 中。就是这样:jsonString
现在将您的字段转换为 JSON 字符串。
编辑:您可以使用 Google GSON 代替 Jackson ,其工作方式大致相同。
关于java - Java中如何从String中获取JSON对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656697/