如何在Java中访问二维数组
我有一个NLPAPI的响应文本,看起来像这样。 [0.99999999999995,“doc1”,“doc1”]] 这方面没有合适的文档,因此我发现在不标记字符串的情况下,很难通过编程方式从文本中访问实数。如何在Java中访问二维数组,java,algorithm,nlp,Java,Algorithm,Nlp,我有一个NLPAPI的响应文本,看起来像这样。 [0.99999999999995,“doc1”,“doc1”]] 这方面没有合适的文档,因此我发现在不标记字符串的情况下,很难通过编程方式从文本中访问实数。 有人能帮我一下吗。你需要几个响应类,比如 class NLPResponse { private long firstParam; //Give it a proper name private String secondParam; private String t
有人能帮我一下吗。你需要几个响应类,比如
class NLPResponse {
private long firstParam; //Give it a proper name
private String secondParam;
private String thirdParam;
//Constructor(s), getters and setters
}
class NLPResponseArrayWrapper {
private ArrayList<NLPResponse> arrayWrapper = new ArrayList<>();
//Constructor(s), getters and setters
}
是如何在项目中使用
Gson
。可以使用JSON解析器。我尝试了以下方法:JSONObject JSON=new JSONObject(result.asJsonString());System.out.println(json.toString());但我犯了这个错误:JSONObject文本必须在1[字符2第1行]以“{”开头您使用的是什么JSON库?假设NLP API返回的对象是字符串
,您确定它将始终保持相同的结构吗?是的,结构始终相同。以下是我使用JSON.org中以下库的文档:JSON-20160810.jar谢谢,先生,我按照您所说的做了,但我认为有一个格式问题。我有一个错误:java.lang.IllegalStateException:应该是BEGIN_对象,但在第1行第2列路径处是BEGIN_数组。也许你在问题中发布的json与API返回的json不完全相同。你能再次检查吗?如果你可能理解json格式,是这样的:[{“lgvt_area id”:“Fufore”,“state_id”:“Adamawa”}{“lgvt_area_id”:“Guyuk”,“state_id”:“Adamawa”},{“lgvt_area_id”:“Demsa”,“state_id”:“Adamawa”},{“lgvt_area_id”:“Ganye”,“state_id”:“Adamawa”}]nlp api的响应看起来更像是一个多维数组:[[0.999999999999999995,“doc1”,“doc1”]]唯一的困惑是在一个数组中的值是双精度和字符串的组合。
NLPResponseArrayWrapper response = gson.fromJson(JSON_IN_API_RESPOSE, NLPResponseArrayWrapper.class);
doSomething(response.getArrayWrapper().get(0).getFirstParam());