You are here

jsonデータ取得例

キャラクター件数

$ curl -sS "https://mahjongsoul.club/JSON/Janshi" | jq '.nodes | length'
61

全件出力

  • 英語の例(language:ja, zh-hans, zh-hant, ko, 指定無しは ja)
$ curl -sS "https://mahjongsoul.club/JSON/Janshi?language=en" | jq '.nodes[].node' | head
{
  "character": "Ichihime",
  "hiragana": "いちひめ",
  "pinyin": "yiji",
  "sex": "female",
  "hight": "154cm",
  "birthday": "Jan 11th",
  "bloodType": "A",
  "voiceActor": "内田真礼",
  "interests": "Food;Sleep",

雀士名

$ curl -sS "https://mahjongsoul.club/JSON/Janshi" | jq '.nodes[].node | select(.categoryitem == "雀士") | .character' | head -5
"一姫"
"二階堂美樹"
"藤田佳奈"
"八木唯"
"九条璃雨"

キャラクター名と pinyin

$ curl -sS "https://mahjongsoul.club/JSON/Janshi" | jq -c '.nodes[].node| [.character, .pinyin]' 
["年獣ちゃん","nianshou2023"]
["白龍","nianshou2024"]
["年獣2021","chunjie"]
["年獣2022","nianshou"]
["一姫","yiji"]
["二階堂美樹","erjietang"]
["藤田佳奈","jianai"]
["三上千織","qianzhi"]
["相原舞","xiangyuanwu"]
["撫子","fuzi"]
["八木唯","bamuwei"]
["九条璃雨","jiutiao"]
["ジニア","zeniya"]
["カーヴィ","kawei"]
["四宮夏生","sigongxiasheng"]
["ワン次郎","wangcilang"]
["一ノ瀬空","yizhilaikong"]
["明智英樹","mingzhiyingshu"]
["軽庫娘","qingku"]
["サラ","shala"]
["二之宮花","erzhigong"]
["白石奈々","baishinainai"]
["小鳥遊雛田","xiaoniaoyouchutian"]
["五十嵐陽菜","wushilanyangcai"]
["涼宮杏樹","lianggongxingshu"]
["ジョセフ","yuesefu"]
["斎藤治","zhaitengzhi"]
["北見紗和子","beijianshahezi"]
["エイン","aiyin"]
["雛桃","chutao"]
["月見山","yuejianshan"]
["藤本キララ","tengbenqiluo"]
["かぐや姫","huiyeji"]
["如月蓮","ruyuelian"]
["石原碓海","shiyuanduihai"]
["エリサ","ailisha"]
["寺崎千穂理","siqiqiansuili"]
["宮永咲","gongyongxiao"]
["原村和","yuancunhe"]
["天江衣","tianjiangyi"]
["宮永照","gongyongzhao"]
["福姫","fuji"]
["七夕","qixi"]
["蛇喰夢子","shecan"]
["早乙女芽亜里","zaoyinv"]
["生志摩妄","shengzhimo"]
["桃喰綺羅莉","taocan"]
["七海礼奈","qihailinai"]
["A-37","a37"]
["姫川響","jichuanxiang"]
["ライアン","laien"]
["森川綾子","senchuanlingzi"]
["滝川夏彦","longchuanxiayan"]
["赤木しげる","akagi"]
["鷲巣巌","washizu"]
["西園寺一羽","xiyuansiyiyu"]
["小野寺七羽","xiaoyesiqiyu"]
["サミール","xiamier"]
["四宮かぐや","sigonghuiye"]
["白銀御行","baiyinyuxing"]
["早坂愛","zaobanai"]
["白銀圭","baiyingui"]
["ゆず","you"]
["ゼクス","zekesi"]
["北原リリィ","beiyuanlili"]
["竹井久","zhujingjiu"]
["福路美穂子","fulumeisuizi"]
["新子憧","xinzichong"]
["園城寺怜","yuanchengsilian"]
["四宮冬実","sigongdongshi"]
["セイラン","qingluan"]
["如月彩音","ruyuecaiyin"]
["未来","weilai"]
["ルルーシュ・ランペルージ","luluxiu"]
["C.C.","cc"]
["枢木スザク","zhuque"]
["紅月カレン","kalian"]
["嵐星","lanxing"]
["リン","ling"]
["東城玄音","dongchengxuanyin"]
["ハンナ","hanna"]
["ムーサ","musa"]
["イリヤ","yiliya"]
["美遊","meiyou"]
["クロ","xiaohei"]
["ギル","jier"]
["イブ・クリス","yifu"]
["琳琅","linlang"]
["袁楓","yuanfeng"]
["シロコ","shalangbaizi"]
["ホシノ","xiaoniaoyouxingye"]
["アル","lubamoailu"]
["ムツキ","qianhuangmuyue"]
["玖辻","jiushi"]

"character"が"Kaavi" or "KiraraFujimoto"のデータを取得、biographyを20文字にtrim、フィールド名を指定してCSV出力。

$ curl -sS "https://mahjongsoul.club/JSON/Janshi?language=en" | jq -r '.nodes[].node | select(."character" | contains("Kaavi","KiraraFujimoto")) | .biography |= sub("(?<trimed>^.{20}).*"; .trimed + "...") | [.character, .hiragana, .pinyin, .sex, .hight, .birthday, .age, .bloodType, .voiceActor, .interests, .faith, .preferredItem, .released, .colorHex, .biography] | @csv'
"Kaavi","","kawei","female","165cm","Oct 12th","24","A","中原麻衣","Gems;inevitable fate","150","Ordinary Diamond;Large Diamond;Heart of the Ocean","2019-05-31","#A2837F","A mysterious fortune..."
"KiraraFujimoto","ふじもと きらら","tengbenqiluo","female","164cm","Nov 27th","18","B","竹達彩奈","Enjoying makeup;Singing in karaoke","150","Simple Dress;Normal Dress;Gorgeous Dress","2020-08-20","#EBBDB0","In other people eyes..."

雀士を pinyin 指定し、voice 情報取得

  • ex. 一姫 yiji
$ curl -sS "https://mahjongsoul.club/JSON/Voice/yiji?language=en" | jq '.nodes[].node' | tail
  "titleVoice": "SP - Tenpai with Baiman/Sanbaiman",
  "Title": "Ichihime SP - Tenpai with Baiman/Sanbaiman",
  "Body": "Ichihime must tell master, nyaa!",
  "pinyinJyanshi": "yiji",
  "number": "129",
  "categoryVoice_er": "ingame",
  "yaku": "",
  "levelBond": "契約",
  "filevoice": " ingame_beiman.mp3"
}