91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

STTP中如何進行Json的基本使用分析

發布時間:2021-12-14 09:29:23 來源:億速云 閱讀:231 作者:柒染 欄目:互聯網科技

這篇文章將為大家詳細講解有關STTP中如何進行Json的基本使用分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1)對 Json 的支持

對 request,response 消息體中 JSON 的支持一般就是要做兩件事:一是定義 josn 的格式規范,另外就是根據格式規范進行序列化、反序列化。STTP 提供開箱即用的對第三方JOSN庫的支持:包括Circe、Json4s、spray-json 等。

目前,從項目活躍度、維護程度上講Circe應該是不錯的選擇。(https://scala.libhunt.com/compare-circe-vs-spray-json)

2)Circe

Circe竟然是基于挑戰智商的 CAT 實現的!

Circe使用 Encoder、Decoder 編解碼Json。Encoder[A]把 A 轉為 Json,Decoder[A]則把Json轉為A或者Exception(如果失敗話)。Circe對Scala庫中常見類型就提供了默認的隱式實例。

對于簡單結構的 case class,使用 Circe 提供的自動、半自動的編解碼就好。Circe 當然也支持自定義轉換或對 ADT 類型數據轉換。智商夠用可以去看https://github.com/milessabin/shapeless。

使用 circe-optics 模塊還可以對 Json 數據進行遍歷、修改。

比如,下面從 order 中獲取用戶的電話號碼。

val phoneNum = root.order.customer.contactDetails.phone.string

如下是調用 NASA某Api并解析Response的代碼示例, 是不是太方便了?!

  import io.circe.generic.auto._  import sttp.client._  import sttp.client.circe._
 case class Links(self: String, next: String)  case class Page(number: Int, size: Int, total_elements: Int, total_pages: Int)  case class NearEarthObject(absolute_magnitude_h: Double, designation: String)  case class NasaData(links: Links, page: Page, near_earth_objects: List[NearEarthObject])
 implicit val backend = HttpURLConnectionBackend()  val resp = basicRequest    .get(uri"https://api.nasa.gov/neo/rest/v1/neo/browse?api_key=${NASA_API_KEY}")    .response(asJson[NasaData])    .send()
 resp.body match {    case Left(failure) => println(failure)    case Right(data) => {          println("Get response from NAS Api:")          println(data)    }  }

關于STTP中如何進行Json的基本使用分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六枝特区| 龙泉市| 萨迦县| 抚远县| 准格尔旗| 秀山| 九龙坡区| 五大连池市| 黄骅市| 乡城县| 商河县| 山丹县| 漳平市| 贵州省| 论坛| 靖安县| 理塘县| 额敏县| 邢台县| 新田县| 丰都县| 上蔡县| 大足县| 定南县| 句容市| 宜昌市| 和龙市| 宁城县| 宜兰市| 大新县| 郎溪县| 甘泉县| 仪征市| 聂拉木县| 宜阳县| 绥芬河市| 静宁县| 沅陵县| 北川| 如东县| 德庆县|