naoki's icon'
  • naoki
  • 2019/03/13 16:45
Content image

今回はrustでJSON形式の情報を取得する方法を試してみました。


まずは使用するデータからです。

ALIS APIの"/users/{user_id}/info"を使用してユーザー情報を取得しておきます。

例として私のユーザー情報を取得するURLです。

https://alis.to/api/users/neokey/info

※"neokey"の部分を任意のユーザーにかえるとそのユーザーの情報が取得できます。

こちらのリンクをブラウザで開くと下記のJSON形式の情報が表示されます。

{"user_display_name": "naoki", "user_id": "neokey", "self_introduction": "\u307b\u307c\u8a18\u4e8b\u95b2\u89a7\u3057\u304b\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u8a18\u4e8b\u3092\u66f8\u3051\u308b\u3088\u3046\u306b\u304c\u3093\u3070\u308a\u307e\u3059\u3002", "icon_image_url": "https://alis.to/d/api/info_icon/neokey/icon/04988a86-65fc-43d7-8861-d1d14d926d69.png"}


次に実際に動かすソースコードです。

rustのソースコードにJSON形式の文字列を適用したものがこちらになります。

r#" から "#の中にあるのがJSON形式の文字列です。

---------------------------------------------------------------------------------

extern crate serde;

extern crate serde_json;

use std::collections::BTreeMap;

fn main() {

   let s = r#"

   {

      "user_display_name": "naoki",

       "user_id": "neokey",

       "self_introduction": "\u307b\u307c\u8a18\u4e8b\u95b2\u89a7\u3057\u304b\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u8a18\u4e8b\u3092\u66f8\u3051\u308b\u3088\u3046\u306b\u304c\u3093\u3070\u308a\u307e\u3059\u3002",

       "icon_image_url": "https://alis.to/d/api/info_icon/neokey/icon/04988a86-65fc-43d7-8861-d1d14d926d69.png"

     }

     "#;

     let deserialized_map: BTreeMap<String, String> = serde_json::from_str(s).unwrap();

     println!("{:?}", deserialized_map);

     println!("{:?}", deserialized_map.get("user_display_name").unwrap());

     }

---------------------------------------------------------------------------------

こちらのソースコードを実行すると下記の2つの情報("{}"で囲まれた文字列と"naoki"の文字列)が出力されます。

{"icon_image_url": "https://alis.to/d/api/info_icon/neokey/icon/04988a86-65fc-43d7-8861-d1d14d926d69.png", "self_introduction": "ほぼ記事閲覧しかしていませんが、記事を書けるようにがんばります。", "user_display_name": "naoki", "user_id": "neokey"}

"naoki"


実際に試してみたい方は下記の記事の「Getting started」ページの「Try Rust without installing」ボタンを押して、体験ページに行ってみてください。

体験ページでこちらのソースコードを貼って「RUN」ボタンを押してみてください。


参考ページ: RustのJSONシリアライザをいろいろと試してみる(+α)

公開日:2019/03/13
獲得ALIS:23.62
naoki's icon'
  • naoki
  • @neokey
最近、少しずつですが記事を書くようにしています。記事閲覧のほうが断然多いですが・・・。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS