相关疑难解决方法(0)

将JSON字符串转换为HashMap

我正在使用Java,我有一个JSON字符串:

{
"name" : "abc" ,
"email id " : ["abc@gmail.com","def@gmail.com","ghi@gmail.com"]
}
Run Code Online (Sandbox Code Playgroud)

那我的Java地图:

Map<String, Object> retMap = new HashMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)

我想将JSONObject中的所有数据存储在该HashMap中.

任何人都可以为此提供代码吗?我想使用这个org.json库.

java json dictionary

139
推荐指数
10
解决办法
28万
查看次数

杰克逊 - 递归解析为Map <String,Object>

我正在尝试简化我的代码:我想存储键和值(所有字符串).

我实际上是用它Map<String, Object>来存储它.hat方式Object可以是value(String)或新节点(Map<String, Object>).

我怎么能简化这段代码?递归函数会很好.

try {
    JsonParser jsonParser = new JsonFactory().createJsonParser(content);

    jsonParser.nextToken();
    while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
        jsonParser.nextToken();

        if (jsonParser.getCurrentToken() == JsonToken.START_OBJECT) {
            while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
                String key = jsonParser.getCurrentName();
                jsonParser.nextToken();

                if (jsonParser.getCurrentToken() == JsonToken.START_OBJECT) {
                    mData.put(key, new HashMap<String, Object>());
                    while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
                        String subkey = jsonParser.getCurrentName();
                        jsonParser.nextToken();

                        if (jsonParser.getCurrentToken() == JsonToken.START_OBJECT) {
                            Map<String, Object> subdata = (Map<String, Object>) mData.get(key);
                            subdata.put(subkey, new HashMap<String, Object>());
                            while (jsonParser.nextToken() != …
Run Code Online (Sandbox Code Playgroud)

java parsing json jackson

12
推荐指数
1
解决办法
1万
查看次数

使用 JSON Java 检索嵌套数组值

我正在努力从格式如下的 JSON 文件中检索一些值:

{
  "search": {
    "entry": [
      {
        "found": "identity=9454532,l=big,ton=grand,k=molvi",
        "attribute": [
          {
            "name": "firstname",
            "value": [
              "Lucas"
            ]
          },
          {
            "name": "lastname",
            "value": [
              "Brandon"
            ]
          }
        ]
      }
    ],
    "return": {
      "code": 0,
      "message": "Success",
      "count": 1
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的方法(json、gson、jayway-JsonPath),但我无法从“属性”数组中获取值,只能从第一个数组中获取值。我不知道如何指定“属性”是 JSONArray 而不是 JSONObject 或如何设置正确的路径。这是我使用的最后一个代码,它在找到数组时停止:

public void String nameObtain (String email) throws IOException{

String link = "http://jsonfile/" + email;

    JSONObject json = readJsonFromUrl(link);        
    JSONObject rootObject = json.getJSONObject("search");
    JSONArray firstArray = rootObject.getJSONArray("entry");

for (int i = 0, size …
Run Code Online (Sandbox Code Playgroud)

java arrays json

3
推荐指数
1
解决办法
2万
查看次数

使用未知密钥解析JSON?

我有一个像这样的Json输出:

在此输入图像描述

数字2922和3910是随机数.如何在数组中存储"name"中的所有值?

谢谢.

java json

1
推荐指数
1
解决办法
2088
查看次数

标签 统计

java ×4

json ×4

arrays ×1

dictionary ×1

jackson ×1

parsing ×1