如何将其转换为 Java/Android 中的 Json?

How to convert this to Json in Java/Android?

我想将这个我不知道它叫什么的转换为Json。你能帮帮我吗?

[{key1=value1,key2=value2,key3=value3}]

结果必须是这样的: { "key1":"value1", "key2":"value2", "key3":"value3" }

假设这是 Map 对象的内容,您可以使用 Gson 将 Java 个对象(包括自定义对象)转换为 JSON,并且 JSON回到一个对象。看起来像这样:

Gson gson = new Gson();
String json = gson.toJson(YOUR_MAP);

返回地图:

Gson gson = new Gson();
Type type = new TypeToken<Map<KEY_TYPE, VALUE_TYPE>>(){}.getType();
Map YOUR_MAP = gson.fromJson(JSON, type);

如果这不是 Map 而只是一个想要成为 Map 但不能完全做到的奇怪字符串,您可以通过以下方式格式化字符串:

  1. 使用 substring(int start, int end) 方法删除两端的两组括号
  2. 使用 split(",|=")
  3. 用逗号和等号分隔条目
  4. String 与引号重新组合为 JSON

    • String JSON = "{ \"" + arrayFromOriginalString[1] + "\":\"", arrayFromOriginalString[2]... 假设源字符串始终具有相同数量的条目
    • 如果来源始终不同,您可以使用 for 循环并递增 2

      String json = "{";
      
      for(int i = 0; i < YOUR_ARRAY.length; i += 2;) {
          json += "\"" + YOUR_ARRAY[i] + "\":\"" + YOUR_ARRAY[i + 1] + "\"";
      
          //Some kind of if condition to decide if a comma is required (Last entry)
      }
      
      json += "}";
      

Here is a fully functioning example of this code