Java-如何从字符串获取键和值?

时间:2018-12-17 05:48:11

标签: java

我有一个字符串

String responseFirst:
       {
        "1": "1930",
        "2": "ABC Partners",
        "3": "AB Part Mns NCA MS",
        "4": 18668800,
        "5": "6857.T",
        "6": "J1730413",
        "7": " Holy Ltd"
       }

需要从此响应(存储在String中)中分别提取所有键和值。

这里唯一的条件是不使用JSON库,因为我们要使用解决方案的地方不能使用JSON库。

4 个答案:

答案 0 :(得分:1)

  

这里唯一的条件是不使用JSON库

由于输入确实显示为 为JSON,因此使用JSON解析器

您可以编写自己的,但是那里所有的JSON解析器都是开源,因此您可以获取源代码并直接使用解析器 1 ,而不是编写从头开始你自己的。

那样,您将不依赖于json ,而是拥有自己的代码。 1

完全取决于您是真正修改该代码还是直接使用它。

1)确保您没有违反任何许可协议。

答案 1 :(得分:0)

尝试一下;

a = [1,2]
d = {}
for i in a:
  d[i]=[i, ]

print(d)
{'1': [1, ], '2':[2, ]}

答案 2 :(得分:-1)

使用(java.lang.String)中的.split()

String[] kvPairs = "key1":"value1","key2":"value2","key3":"value3".split(",");

这将为您提供一个包含以下元素的数组kvPairs:

key1:value1
key2:value2
key3:value3

现在遍历KvPairs数组并拆分,然后再次获取结果:

for(String kvPair: kvPairs) {
   String[] kv = kvPair.split(":");
   String key = kv[0];
   String value = kv[1];

   // Now do with key whatever you want with key and value...
   if(key.equals("specialkey")) {
       // Do something with value if the key is "specialvalue"...
   }
}

答案 3 :(得分:-1)

您可以使用Nashorn进行操作。从Java 8开始提供。

git log your_other_options --pretty='%Cgreen%h%Creset %Cblue%
cd%Creset %smont' --date=short