- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个看起来像这样的 JSON,
{
"users": [
{
"displayName": "Dennis Law",
"givenName": "Dennis",
"surname": "Law",
"extension_user_type": "user",
"identities": [
{
"signInType": "emailAddress",
"issuerAssignedId": "dennislaw@gmail.com"
}
],
"extension_timezone": "VET",
"extension_locale": "en-IN",
"extension_tenant": "Team1"
},
{
"displayName": "Shaggy Nate",
"givenName": "Shaggy",
"surname": "Nate",
"extension_user_type": "user",
"identities": [
{
"signInType": "userName",
"issuerAssignedId": "Shaggynatealpha"
}
],
"extension_timezone": "NST",
"extension_locale": "en-AF",
"extension_tenant": "Team1"
}
]
}
我写了一个java代码来迭代JSON并将值保存在变量中,像这样,下面是我迭代JSON的method()的内容,所以如果你看到,我有一个包装器
用户 .所以我采用了我上面提到的 JSON 并将其作为 JSON 对象传递并迭代以获取所有字段,例如 DISPLAYNAME、SURNAME....等等。
JSONObject jsonUserObject = new JSONObject(json_string);
JSONArray jsonUserArray = jsonUserObject.getJSONArray("users");
for (int i = 0; i < jsonUserArray.length();i++) {
LOG.info("Iteration...");
displayName = jsonUserArray.getJSONObject(i).getString("displayName");
givenName = jsonUserArray.getJSONObject(i).getString("givenName");
surname = jsonUserArray.getJSONObject(i).getString("surname");
extension_user_type = jsonUserArray.getJSONObject(i).getString("extension_user_type");
JSONArray jsonIdentitiesArray = jsonUserArray.getJSONObject(i).getJSONArray("identities");
for (int j = 0; j < jsonIdentitiesArray.length();j++) {
signInType = jsonIdentitiesArray.getJSONObject(j).getString("signInType");
issuerAssignedId = jsonIdentitiesArray.getJSONObject(j).getString("issuerAssignedId");
}
try {
extension_timezone = jsonUserArray.getJSONObject(i).getString("extension_timezone");
extension_locale = jsonUserArray.getJSONObject(i).getString("extension_locale");
extension_tenant = jsonUserArray.getJSONObject(i).getString("extension_tenant");
} catch (JSONException jse) {
LOG.warn("JSONException occured, some attribute was not found!", jse.getMessage());
}
但是我正在尝试动态执行此操作,如果您看到我有 4 个以开头的字段
extension_blablabla = jsonUserArray.getJSONObject(i).getString("extension_blablabla");
/////////更新
private static void getData(String userJsonAsStringParam) {
JSONObject jsonUserObject = new JSONObject(userJsonAsStringParam);
JSONArray jsonUserArray = jsonUserObject.getJSONArray("users");
for (int i = 0; i < jsonUserArray.length();i++) {
Map<String,String> map = new HashMap<String,String>();
@SuppressWarnings("unchecked")
Iterator<String> keys = jsonUserArray.getJSONObject(i).keys();
while(keys.hasNext()){
String key = (String)keys.next();
String value = jsonUserArray.getJSONObject(i).getString(key);
map.put(key,value);
}
}
}
错误 :
Exception in thread "main" org.json.JSONException: JSONObject["identities"] not a string.
最佳答案
我认为不可能将它们动态地存储在具有相同名称的变量中,例如 extension_timezone。这需要动态更改变量名称,而且您甚至不知道哪些变量存在哪些不存在。
绝对可能的是将它们存储在像 map 一样的结构中:
Map<String,String> map = new HashMap<String,String>();
Iterator<String> keys = jsonUserArray.getJSONObject(i).keys();
while(keys.hasNext()){
String nextString = (String)keys.next();
if(nextString.equals("identities"))
{
continue;
}
String key = nextString;
String value = jsonUserArray.getJSONObject(i).getString(key);
map.put(key,value);
}
变量名称现在用作映射中的键。如果你不知道 map ,这里是基本信息:
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
关于java - 从 JAVA 中的 JSON 动态读取和存储具有相同起始名称的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64241136/
我在尝试生成具有“价格”轴和“量”轴的图表时遇到问题,类似于 example given 中的图表。在 Highstock 网站上。它可以很好地显示成交量轴,但不能显示价格。 在尝试确定问题的原因时,
起始 - HTML
在我的 HTML 项目中,我试图提及 标签。但是,VS Code 将其解释为实际的 标签,它会导致奇怪的事情发生。有人有办法解决这个问题吗?预先感谢您! 最佳答案 使用<代替 . 顺便说一下,使
起始 - HTML
在我的 HTML 项目中,我试图提及 标签。但是,VS Code 将其解释为实际的 标签,它会导致奇怪的事情发生。有人有办法解决这个问题吗?预先感谢您! 最佳答案 使用<代替 . 顺便说一下,使
The allocation function attempts to allocate the requested amount of storage. If it is successful, i
这是我的Program.cs: public static void Main(string[] args) { var host = new WebHostBuilder()
我希望我的应用程序独立于操作系统。因此,我的 config.properties 和日志文件存储在资源文件夹中,我通过相对路径获取这些资源。这是我的项目结构。 这是我的 AppConfig 类: pu
(前言:这是我在 Stack Overflow 上提出的第一个与音频相关的问题,因此我会尽力用最好的措辞来表达。欢迎编辑。) 我正在创建一个允许用户循环播放音乐的应用程序。目前,我们的原型(proto
我有一个 Pandas DataFrame,我想将其用作 Scrapy Start URL,函数 get_links 打开一个到 DataFrame 的 xlsx,其中有一个我想在其上运行蜘蛛的 Co
我有几个大的 DTD 文件。我用过 trang将它们转换为 XSD 文件,这样我就可以轻松地从 JAXB 和其他实用程序中使用它。但是,生成的 XSD 文件的所有声明元素都位于顶层。这意味着任何元素都
是否有任何工具可以将文件从给定的起始偏移量复制到给定的(结束)偏移量。我还想通过运行 md5sum 确认该工具已正确复制指定的字节。像这样的东西 1) Copy source file star
所以,我有一个程序,我可以使用 Path2D 对象将形状添加到 JPanel,然后我可以单击并拖动它们。我想要做的是能够找到药物后形状的最终 X 和 Y 坐标。坐标必须是左上角坐标。有什么想法吗? /
我是一名优秀的程序员,十分优秀!