gpt4 book ai didi

java - android 使用 jsontokener 解析 json 对象

转载 作者:行者123 更新时间:2023-12-02 06:59:03 30 4
gpt4 key购买 nike

我尝试使用 jsontokener 解析 json这是我的 jsontokener 代码:

try {
JSONObject jObj = (JSONObject) new JSONTokener(strJson).nextValue();
String query = jObj.getString("query");
JSONArray location = jObj.getJSONArray("locations");
TextView tv = (TextView) findViewById(R.id.dummy_text);
tv.setText(query);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
TextView tv = (TextView) findViewById(R.id.dummy_text);
tv.setText("Wrong");
}

这是我的第一个 strJson :

        String strJson = "{"
+ " \"query\": \"Pizza\", "
+ " \"locations\": [ 94043, 90210 ] "
+ "}";

它会显示

Pizza

我尝试将 strJson 更改为这样:

        String strJson = "{"
+ " \"component\": "
+ "{"
+ " \"query\": \"Pizza\", "
+ " \"locations\": [ 94043, 90210 ] "
+ "}"
+ "}";

它会显示

wrong

这意味着代码输入以捕获。请帮助我如何改进我的代码,以便它可以在组件中进行查询。

最佳答案

终于我找到了答案,我只是将代码改进为这样:

try {
JSONObject jObj = (JSONObject) new JSONTokener(strJson).nextValue();
JSONObject obj = jObj.getJSONObject("component");
String query = obj.getString("query");
//JSONArray location = jObj.getJSONArray("locations");
TextView tv = (TextView) findViewById(R.id.dummy_text);
tv.setText(query);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
TextView tv = (TextView) findViewById(R.id.dummy_text);
tv.setText("Wrong");
}

关于java - android 使用 jsontokener 解析 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16909160/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com