国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Rust處理JSON

這篇具有很好參考價值的文章主要介紹了Rust處理JSON。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


基本操作


Cargo.toml:

[package]
name?=?"json"
version?=?"0.1.0"
edition?=?"2021"

#?See?more?keys?and?their?definitions?at?https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
serde?=?{?version?=?"1",?features?=?["derive"]?}
serde_json?=?"1"
tokio?=?{?version?=?"1",?features?=?["full"]?}
warp?=?"0.3"

main.rs:

use?serde::{Deserialize,?Serialize};


#[derive(Debug,?Deserialize,?Serialize)]
struct?Person?{
????name:?String,
????age:?i64,
}

fn?main()?{
????let?json_str?=?r#"
????????????{
????????????"name":?"dashen",
????????????"age":?18
????????????}
???"#
;

????let?person:?Person?=?serde_json::from_str(json_str).unwrap();
????println!("{:?}",?person)
}

輸出為:

Person?{?name:?"dashen",?age:?18?}

嵌套結構體


warp[1]

use?serde::{Deserialize,?Serialize};
use?warp::Filter;

#[derive(Debug,?Deserialize,?Serialize)]
struct?Person?{
????name:?String,
????age:?i64,
}


#[derive(Debug,?Deserialize,?Serialize)]
struct?Demo?{
????name:?String,
????person:?Person,
}

#[tokio::main]
async?fn?main()?{
????let?hello?=?warp::path!("json")
????????.map(||?warp::reply::json(
????????????&Demo?{
????????????????name:?"geek".to_string(),
????????????????person:?Person?{
????????????????????name:?"dashen".to_string(),
????????????????????age:?28,
????????????????},
????????????}
????????));

????warp::serve(hello)
????????.run(([127,?0,?0,?1],?3030)).await;
}
Rust處理JSON,后端
Rust處理JSON,后端

返回不同的結構(一般用枚舉來解決)


use?serde::{Deserialize,?Serialize};
use?warp::Filter;

#[derive(Debug,?Deserialize,?Serialize)]
struct?Person?{
????name:?String,
????age:?i64,
}


#[derive(Debug,?Deserialize,?Serialize)]
struct?Demo?{
????name:?String,
????person:?Person,
????shape:?Shape,
}


#[derive(Debug,?Deserialize,?Serialize)]
#[serde(rename_all?=?"lowercase",?tag?=?"shape")]?//?處理成小寫,同時加一個tag區(qū)分啥形狀
enum?Shape?{
????Circle?{
????????radius:?f64,
????},

????Rectangle?{
????????length:?f64,
????????width:?f64,
????},
}


#[tokio::main]
async?fn?main()?{
????let?hello?=?warp::path!("json")
????????.map(||?warp::reply::json(
????????????&Demo?{
????????????????name:?"geek".to_string(),
????????????????person:?Person?{
????????????????????name:?"dashen".to_string(),
????????????????????age:?28,
????????????????},
????????????????shape:?Shape::Circle?{
????????????????????radius:?3.5
????????????????},
????????????}
????????));

????warp::serve(hello)
????????.run(([127,?0,?0,?1],?3030)).await;
}

Rust處理JSON,后端

參考資料

[1]

warp: https://github.com/seanmonstar/warp

本文由 mdnice 多平臺發(fā)布文章來源地址http://www.zghlxwxcb.cn/news/detail-672403.html

到了這里,關于Rust處理JSON的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 在前后端分離的項目中,Springboot vue,前端把json傳到后端,后端用一個類接收,json中的數據是怎么轉換類型的

    在前后端分離的項目中,前端通常會將數據以 JSON 格式傳輸給后端,后端需要將接收到的 JSON 數據轉換為對應的類型。這個過程可以通過后端框架和庫來自動完成。 在Spring Boot中,后端可以使用相關的庫來實現JSON數據的轉換。常見的庫包括Jackson、Gson和FastJson等。這些庫提供

    2024年02月13日
    瀏覽(21)
  • 沒有fastjson,rust怎么方便的解析提取復雜json呢?

    在 Rust 中解析和提取復雜的 JSON 結構,你可以使用 serde_json 庫來處理。 serde_json 提供了一組功能強大的方法來解析和操作 JSON 數據。 下面是一個示例,展示了如何解析和提取復雜的 JSON 結構: 在這個示例中,我們首先將 JSON 字符串解析為 Value 類型的對象。然后,我們使用

    2024年02月14日
    瀏覽(17)
  • 前端傳遞JSON數組數據到后端(解析方法)

    ????????在前端和后端之間 傳遞數組 時,由于HTTP協(xié)議的限制,無法直接傳遞數組類型的參數。 請求參數需要被轉換為字符串格式傳遞給后端,所以需要通過 JSON.stringify() 方法將 gradeIdArray 數組轉換為一個 JSON 字符串,并將其作為參數傳遞給后端。 ????????在后端的控

    2024年02月16日
    瀏覽(31)
  • postman發(fā)送json嵌套, 后端 @RequestBody 接收不到

    postman發(fā)送json嵌套, 后端 @RequestBody 接收不到

    遇到了一個很奇葩的問題,具體是這樣的: postman 通過 post 方式發(fā)送請求,請求參數是一個嵌套的json,后端是@RequestBody修飾的實體類接參的, 具體的json數據: 后端: 大家知道以上事例即可。 出現的問題是: 發(fā)送請求后,沒能收到外層實體類的參數,內層的ANPR對象,一直

    2024年02月04日
    瀏覽(24)
  • rust學習-json的序列化和反序列化

    由于 serde 庫默認使用 JSON 格式進行序列化和反序列化 因此程序將使用 JSON 格式對數據進行序列化和反序列化 JSON:廣泛使用的 JavaScript 對象符號,用于許多 HTTP API Postcard:no_std 和嵌入式系統(tǒng)友好的緊湊二進制格式。 CBOR:用于小消息大小且無需版本協(xié)商的簡潔二進制對象表示

    2024年02月12日
    瀏覽(20)
  • mysql 字段類型為json,后端用list接收

    board` json DEFAULT NULL COMMENT \\\'信息,格式[{\\\"name\\\":\\\"net\\\",\\\"chip\\\":\\\"esp32\\\",\\\"hdVer\\\":1}]\\\' resultMap id=\\\"productDeviceAndBrand\\\" type=\\\"com.charg.product.domain.vo.ProductDeviceOperationsVo\\\" result property=\\\"brandId\\\" column=\\\"brand_id\\\"/ result property=\\\"brandName\\\" column=\\\"brand_name\\\"/ result property=\\\"productName\\\" column=\\\"product_name\\\"/ result property=\\\"productC

    2024年04月09日
    瀏覽(18)
  • Java后端開發(fā)——Ajax、jQuery和JSON

    Java后端開發(fā)——Ajax、jQuery和JSON

    Ajax全稱是Asynchronous Javascript and XML,即異步的JavaScript和 XML。Ajax是一種Web應用技術,該技術是在JavaScript、DOM、服務器配合下,實現瀏覽器向服務器發(fā)送異步請求。 Ajax異步請求方式不向服務器發(fā)出請求,會得到數據后再更新頁面(通過DOM操作修改頁面內容),整個過程不會發(fā)

    2024年02月03日
    瀏覽(23)
  • 前端傳遞Json格式,后端如何用多種方式接收

    ?一、先定義一個簡單的實體類 二、編寫前端傳遞的json數據 1.前端傳遞普通json,后端用對象接收 2.前端傳遞json數組, 3.前端傳遞json數組,后端用集合接收Josn數組

    2024年02月12日
    瀏覽(24)
  • 使用json-server 模擬后端數據

    使用json-server 模擬后端數據

    1. json-server是什么 json-server 是一個 Node 模塊,運行 Express 服務器,你可以指定一個 json 文件作為 api 的數據源。 簡單的說,它可以模擬小型后臺接口,在一個JSON文件中操作數據,是基于的node.js的一個模塊。 比如在學習axios時候,就可以用json-server來模擬接口。 2.安裝和使用

    2024年02月15日
    瀏覽(17)
  • json-server Node.js 服務,前端模擬后端提供json接口服務

    json-server Node.js 服務,前端模擬后端提供json接口服務

    json-server Node.js 服務,前端模擬后端提供json接口服務 背景: ? ?前后端分離的項目,如果前端寫頁面的話,必須的后端提供接口文件,作為前端等待時間太久,不便于開發(fā)進行,如果前端寫的過程中自己搭建一個簡要的后端的json服務接口,就是可以快速進行開發(fā)事項的進行,

    2024年02月16日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包