1 Json 数据格式为:
{
'embeddingd':[[[1,2,3][3,4,5][5,6,7]]],
"tokens": "今天 也 是 很 开心 啊",
"bert_tokens": ["今天","也","是","很","开心","啊"]
}
2 , 如何获取Json数据的key value,
json.getClass().getName() 获取json的数据类型
JSONArray embeddings = json.getJSONArray("embeddings"); 通过key"embeddings"获取JsonArray格式的数组数据
String tt = json.getString("tokens"); 不同的数据类型有不同的获取函数,不匹配数据类型的话将会报错。
3,如何遍历获取JsonArray下的数据
embeddings.get(0)获取第一层数据
((JSONArray)embeddings.get(0)).get(0) 获取第二层数据,必须加上(JSONArray)这个数据类型,否则会报错
((JSONArray)embeddings.get(0)).size() 获取Array的长度
JSONArray embeddings_arr = (JSONArray)embeddings.get(0);
for(int i = 0 ; i < embeddings_arr_0.size() ; i++){ System.out.println(embeddings_arr.get(1));
}
4,创建JSON类型的数据
JSONObject postData = new JSONObject();
postData.put("utt", "dddd"); 得到{ "utt" : "dddd"}
ArrayList<Double> arrayList1 = new ArrayList<Double>();
arrayList1.add(arrayList.get(i)/tokens.size());