我想将字符串作为JSON格式读取(它不一定是JSON,但它看起来像JSON格式)并将其表示为hashMap(键:关键字,值:COUNT)
例如,假设我有一个字符串。String s ={"Welcome":1,"Hi":2,"Hello":1,"Jin":1};
然后,进行分类。(对于Hashmap键 - > gt; word,value - > number)。最终结果如下所示。
HashMap<String,String> result;
result.get("Jin"); // output : 1
result.get("Hi"); // output : 2
但我的代码,它没有正确的方式。
JSONParser parser = new JSONParser();
Object obj = parser.parse(s);
JSONArray array = new JSONArray();
array.add(obj);
System.out.println(array.get(0)); //output: {"Welcome":1,"Hi":2,"Hello":1,"Jin":1}
可以使用JSON吗?或者我应该逐个拆分它们? (例如将它们分为“,”首先和“:”......等等)
请给我你的好意见。
答案 0 :(得分:1)
尝试使用以下代码段。
public static void main(final String[] args) throws ParseException {
String s = "{\"Welcome\":1,\"Hi\":2,\"Hello\":1,\"Jin\":1}";
JSONParser parser = new JSONParser();
HashMap<String, Long> obj = (HashMap<String, Long>) parser.parse(s);
for(String key : obj.keySet()) {
System.out.println("Key:" + key + " value:" + obj.get(key));
}
}
答案 1 :(得分:1)
您可以使用org.json来满足您的要求。
E.g。
String s = "{\"Welcome\":1,\"Hi\":2,\"Hello\":1,\"Jin\":1}";
JSONObject result = new JSONObject(s);
System.out.println(result.get("Jin")); // output : 1
System.out.println(result.get("Hi")); // output : 2
答案 2 :(得分:0)
它是json object
而不是array
...
试试这个:
JSONObject jsonObj = new JSONObject(jsonString.toString());
答案 3 :(得分:0)
最容易实现的是使用JACKSON解析器。
from Libpy import Libpy
import boto.ec2
import sys
if __name__=='__main__':
a = B()
Libpy().multithreading(ec2list1,a.create_amibkp(ec2listname,ec2list1))
打印:
import threading
import time
class Libpy:
def multithreading(l, function):
threads = []
for z,v in enumerate(l):
dummy = z
t = threading.Thread(target=function, args=(v,))
threads.append(t)
t.start()
答案 4 :(得分:0)
使用Google JSON即gson库(2.6.2),您的问题将得到解决。
请查看以下代码
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
public class StackOverFlowQuestionset {
public static void main(String[] args) {
String s ="{\"Welcome\":1,\"Hi\":2,\"Hello\":1,\"Jin\":1}";
HashMap<String,String> result=new HashMap<String,String>();
Gson gson = new Gson();
JsonElement jsonElement = gson.fromJson(s, JsonElement.class);
JsonObject jsonObject = jsonElement.getAsJsonObject();
Set<Entry<String, JsonElement>> jsonEntrySet = jsonObject.entrySet();
for(Entry<String, JsonElement> entry:jsonEntrySet){
result.put(entry.getKey(), entry.getValue().toString());
}
System.out.println(result.get("Jin"));
System.out.println(result.get("Welcome"));
System.out.println(result.get("Hi"));
}
}