我正在嘗試進行JSON決議。JSON資料如下所示,我試圖獲得 "類別"。我能夠決議其他的東西,但我不確定這個 "類別 "屬于什么,是JSONObject,JSONArray,還是其他什么?我是個新手,自學成才,通常我熟悉JSONArray的形式為 "JSONArray"。{["內容"]},而 "內容 "是JSONObject。但在這種情況下,"類別":["內容"]。我正試圖決議這個 "類別",并將其轉化為字串。謝謝你的幫助。
{
"results": [
{
"type": "餐廳"。
"id": "jfhuiewjkfkdljiahueijkfnlsdiejkl1484391hjk8421k"/span>,
"score": 99.9844207764,
"dist": 15.581982823437135,
"info": "search:ta:840369014527642-US",
"poi": {
"name": "RoofTop Bar",
"categorySet": [
{
"id": 184729472943
}
],
"categories": [
"酒吧食品",
"餐廳"。
]}
}]
}
這是我所嘗試的:
groups = new JSONArray()。
groups = response.getJSONArray("results")。
if (group.length() > 0) {
JSONObject resultObject = groups.getJSONObject(0)。
if (resultObject.have("poi")) {
if (resultObject.getJSONObject("poi").have("name") {
nameResult = resultObject.getJSONObject("poi").getString("name") 。
} else {
nameResult = "資訊不可用。"。
}
if (resultObject.getJSONObject("poi").have("categories")) {
JSONObject categoriesResult;
categoriesResult = resultObject.getJSONObject("categories").toString()。
}
uj5u.com熱心網友回復:
results是一個物件的陣列 。
- 第一個物件包含一個叫做
poi的屬性。
poi包含一個叫做categories的屬性。
所以使用從上到下的方法,我們可以得出
const categoriesArray = results[0] 。 poi.categories; //給出類別為字串的陣列。
const categoriesString = categoriesArray.join(",") //給出類別為字串,用逗號分隔。
uj5u.com熱心網友回復:
我不確定這是否是實際的原始資料,但包含類別的poi物件是畸形的。它缺少一個收尾的括號,這可能會導致決議問題。
除此之外,poi 物件中的類別欄位是一個字串串列,我不確定你想如何將其格式化為一個字串,但你可以回圈瀏覽它們并對其進行你想要的處理。
為了獲得它們,你可以用results[0].poi.categories從你的物件中訪問它們,或者在訪問類別之前用result.poi.categories回圈瀏覽結果,其中result是包含當前回圈結果的變數。
編輯:
從你的代碼示例中,假設回應是一個JSONObject,你可以做以下事情。
然后,為了在一個沒有陣列格式的字串中獲得類別,你可以回圈瀏覽這些類別,并將它們連接成一個字串。
String categories = resultObject. get("categories").join(", ")。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/314874.html
標籤:
