JSON を RDD に解析する際に問題があります
{"data":"{\"orderID\":\"3\",\"products\":[{\"productID\":10028,\"category\":\"342\",\"name \":\"キッズ コート\",\"性別\":\"キッズ\",\"スポーツ\":\"バスケットボール\",\"色\":\"青\",\"小売価格\ ":268.0,\"sellPrice\":268.0,\"sellQuantity\":1,\"taxablePrice\":268.0,\"brand\":\"Inno Fashion\",\"stockQuantity\":999,\ "subTotal\":268.0,\"ancestorCategories\":[\"2426\",\"2454\",\"241\",\"342\",\"24\",\"34\", \"2439\",\"21\",\"3\",\"2\",\"1\",\"2412\",\"2430\",\"2503\"]}, {\"productID\":10031,\"category\":\"334\",\"name\":\"Kids Tshirt\",\"gender\":\"Kids\",\"sport\":\ "Cycling\",\"color\":\"Blue\",\"retailPrice\":59.0,\"sellPrice\":59.0,\"sellQuantity\":6,\"taxablePrice\":59.0,\ "brand\":\"361 Sports\",\"stockQuantity\":994,\"subTotal\":354.0,\"ancestorCategories\":[\"2426\",\"241\",\"33 \",\"24\",\"2429\",\"334\",\"2439\",\"21\",\"3\",\"2\",\"1\" ,\"2412\",\"2503\",\"2451\"]}}性別\":\"キッズ\",\"スポーツ\":\"サイクリング\",\"色\":\"青\",\"小売価格\":59.0,\"販売価格\":59.0, \"sellQuantity\":6,\"taxablePrice\":59.0,\"brand\":\"361 Sports\",\"stockQuantity\":994,\"subTotal\":354.0,\"ancesstorCategories\" :[\"2426\",\"241\",\"33\",\"24\",\"2429\",\"334\",\"2439\",\"21\", \"3\",\"2\",\"1\",\"2412\",\"2503\",\"2451\"]}}性別\":\"キッズ\",\"スポーツ\":\"サイクリング\",\"色\":\"青\",\"小売価格\":59.0,\"販売価格\":59.0, \"sellQuantity\":6,\"taxablePrice\":59.0,\"brand\":\"361 Sports\",\"stockQuantity\":994,\"subTotal\":354.0,\"ancesstorCategories\" :[\"2426\",\"241\",\"33\",\"24\",\"2429\",\"334\",\"2439\",\"21\", \"3\",\"2\",\"1\",\"2412\",\"2503\",\"2451\"]}}\"brand\":\"361 Sports\",\"stockQuantity\":994,\"subTotal\":354.0,\"ancestorCategories\":[\"2426\",\"241\",\" 33\"、\"24\"、\"2429\"、\"334\"、\"2439\"、\"21\"、\"3\"、\"2\"、\"1\ ",\"2412\",\"2503\",\"2451\"]}}\"brand\":\"361 Sports\",\"stockQuantity\":994,\"subTotal\":354.0,\"ancestorCategories\":[\"2426\",\"241\",\" 33\"、\"24\"、\"2429\"、\"334\"、\"2439\"、\"21\"、\"3\"、\"2\"、\"1\ ",\"2412\",\"2503\",\"2451\"]}}
この情報をRDDに読み込むと、
1. val content = parse(event.properties.get[String]("data"))
2. val productID = (for {JInt(x) <- (content \\ "productID")} yield x.toString())
3. val sellProductQuantity = (for {JInt(x) <- (content \\ "sellQuantity")} yield x.toString())
4. val category = for { JArray(x) <- (content \\ "ancesstorCategories")} yield x
5. val compactProductId = compact(content \\ "productID")
6. yield BuyEvent(
7. user = userID,
8. item = productID(index).toString,
9. category = category(index),
10. count = (sellProductQuantity(index).values.toString).toInt)
JSON の「ancestorCategories」を「category」またはリスト List(2426, 2454, 241, 342, 24, 34, 2439, 21, 3、2、1、2412、2430、2503)
エラー: 見つかりました: リスト[org.json4s.JsonAST.JValue] [エラー] [Console$] [エラー] 必要: 配列[文字列]
List[org.json4s.JsonAST.JValue] から List[String] に変換するのを手伝ってくれる人はいますか? どうもありがとうございました。