Передайте 2d массив для остальных API - PullRequest
0 голосов
/ 20 июня 2019

Я использую scala для взаимодействия с API остальных, который ожидает получить двумерный массив с плавающей точкой.Делать это наивно с помощью scalaj не представляется возможным. Я видел только примеры, передающие строковые параметры.Я ищу руководство о том, как сделать это с помощью наивного двумерного массива с плавающей запятой или эффективного способа кодирования / разбора строковой версии.

import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.parsing.json._
import scalaj.http.{Http, HttpOptions}
import com.saymosaic.nlp.engine.utils.PropertyValues._
import util.control.Breaks._

def callSearch(data: Array[Array[Float]]) : List[(String, String)] = {
        var parsed = Http(endpoint+"/v1/nlpresource/search").param("data",data).option(HttpOptions.connTimeout(5000)).option(HttpOptions.readTimeout(10000)).asString
        var response:Option[Any] = JSON.parseFull(parsed.body)
        var response_map = response.get.asInstanceOf[Map[String, List[List[String]]]]
        var response_list = response_map.get("response").get.asInstanceOf[List[List[String]]]
        var scores : List[(String, String)] = List()
...