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

问题描述 投票:-1回答:1

我想把这个我不知道叫什么的名字转换成Json。你能帮我吗?

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

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

java android json getjson json-deserialization
1个回答
0
投票
假设这是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但又不太适合的奇怪字符串,您可以通过以下方式设置字符串格式:

    使用substring(int start, int end)方法移去两端的两套支架
  1. split(",|\\=")用逗号分隔条目
  2. String重新加引号为JSON

      [String JSON = "{ \"" + arrayFromOriginalString[1] + "\"=\"", arrayFromOriginalString[2]...假定源字符串始终具有相同数量的条目]
  3. 如果源始终不同,则可以使用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 += "}";

我没有运行此代码或未检查语法,但该概念应该有效

© www.soinside.com 2019 - 2024. All rights reserved.