arekoヘルプ 目次 よくある質問 トップ

取り込みデータの書き方

上級者向けのページです。AI に任せずに自分でデータを作りたいとき、AI の出力を手直ししたいとき、取り込みでエラーが出たときに読んでください。AI でふつうに作るだけなら、このページを読む必要はありません(AIで教材から作る)。

取り込める形式

形式見分け方使いみち取り込める場所
areko-deck(このページの主題)"format": "areko-deck"AI や自分で作るデータ本棚の貼り付け・ファイル・Wi-Fi、カードセットの「追加・更新」
移行用(書き出したファイル)"format": "areko-deck" かつ "profile": "migration"「デッキを書き出す(別の端末へ)」で作られる。手で書くものではない本棚の「デッキを読み込む(zip・フォルダ・JSON)」とほかのアプリから開く、だけ
CSV拡張子 .csv表計算ソフトで作るカードセットの「CSVで取り込み」(追加のみ)

areko-deck は JSON(文字で書くデータの決まった書き方)です。古い名前の "format": "wordcard-deck" も同じものとして受け付けます。

知らない項目名は無視されます(エラーにはなりません)。逆に言うと、項目名を書き間違えると、その値は黙って捨てられます。

最小の例

必須なのは format と cards、各カードの front だけです。

{
  "format": "areko-deck",
  "cards": [
    { "front": "鎌倉幕府を開いた人物は?", "back": "源頼朝" },
    { "front": "光合成を行う細胞小器官は?", "back": "葉緑体" }
  ]
}

これを取り込むと、「読み込んだデッキ」という名前で、「問題・答え」の形のカードが2枚あるカードセットができます。番号は登録順に自動で振られ、出題の向きは「問題を見て答える」です。

完全な例

一般の教科(用語・読み・意味)

{
  "format": "areko-deck",
  "version": 3,
  "deck": "社会 歴史(中2 期末)",
  "domain": "general",
  "direction": "frontToBack",
  "tags": ["社会", "歴史"],
  "tile": { "emoji": "🏯" },
  "cards": [
    {
      "no": "1",
      "front": "鎌倉幕府を開いた人物は?",
      "back": "源頼朝",
      "tags": ["鎌倉時代"],
      "distractors": { "back": ["足利尊氏", "北条時宗", "平清盛"] }
    },
    {
      "no": "2",
      "front": "羅針盤",
      "reading": "らしんばん",
      "back": "中国で発明された方位磁石",
      "distractors": { "back": ["火薬の原料", "活版印刷の道具", "天体観測の道具"] }
    },
    {
      "no": "3",
      "front": "この絵を描いた人物は?",
      "back": "葛飾北斎《かつしかほくさい》",
      "image": "fig3.jpg",
      "imageBack": "kaisetsu3.jpg"
    },
    {
      "no": "4",
      "front": "硫酸の化学式は?",
      "back": "\\ce{H2SO4}"
    }
  ]
}

3枚目の画像はファイル名で参照しているので、このデータは画像と一緒に zip かフォルダで取り込みます(zip・フォルダの構成)。貼り付けで取り込むと、画像だけが付きません。

英単語(対象語と複数の意味)

{
  "format": "areko-deck",
  "version": 3,
  "deck": "英単語 1〜3",
  "domain": "english",
  "direction": "frontToBack",
  "cards": [
    {
      "no": "1",
      "front": "run",
      "reading": "/rʌn/",
      "senses": [
        { "meaning": "走る", "partOfSpeech": "動詞", "example": "I [[run]] every morning." },
        { "meaning": "経営する", "partOfSpeech": "動詞", "example": "She [[runs]] a shop." }
      ],
      "distractors": { "back": ["歩く", "泳ぐ", "止まる"] }
    },
    {
      "no": "2",
      "front": "achieve",
      "reading": "/ətʃíːv/",
      "senses": [ { "meaning": "達成する", "partOfSpeech": "動詞" } ]
    }
  ]
}

チャンク(句)で覚える単語帳なら、senses を使わずに次のように書きます。

{
  "format": "areko-deck",
  "version": 3,
  "deck": "英熟語チャンク",
  "domain": "english",
  "cards": [
    { "no": "1", "front": "[[follow]] her advice", "back": "彼女の助言に[[従う]]" },
    { "no": "2", "front": "[[extract]] DNA [[from]] blood", "back": "血液からDNAを[[抽出する]]" }
  ]
}
1つのデータの中で、senses のあるカードと無いカードを混ぜることはできますが、カードの形はデータ全体で1つに決まります(カードの形の決まり方)。形の違うものは別のデータに分けるのがおすすめです。

全体の項目

項目必須値意味
format必須文字列 "areko-deck"areko のデータであることの印。これが無いと取り込めません。
version任意数(現在は 3)形式の版。書くなら引用符なしの数で書きます("3" は誤り)。
deck任意文字列カードセットの名前。無ければ「読み込んだデッキ」。同じ名前があれば末尾に番号が付きます。
domain任意"general" / "english"english は英単語のカードセット(カードを開くと内蔵英和辞書の発音・類義語などが出る、出題の向きの表示が「英→日」など)。それ以外は general。省略するとカードの形から決まります(決まり方)。大文字・小文字は区別しません。
direction任意"frontToBack" / "backToFront"出題の向きの最初の値。frontToBack=問題(front)を見て答え(back)を答える。backToFront=答え側を見て問題側を答える(漢字の書き取りなど)。綴りは大文字・小文字まで正確に。省略時は 向きの決まり方。学習を始める画面であとから変えられます。
tags任意文字列の配列カードセットのタグ(本棚の絞り込み用)。1つでも ["社会"] のように配列で書きます。
tile任意オブジェクトアイコン。emoji(絵文字)、symbol(Apple の SF Symbols の名前)、color を書けます。symbol と emoji の両方があると symbol が表示されます。アプリは白黒のデザインなので color は見た目に影響しません。
template任意(上級)文字列かオブジェクトカードの形(レイアウト)を指定します。ふつうは書きません(レイアウトを指定する)。
cards必須カードの配列カード。並んだ順がカードの並び順になります。

本棚からの取り込みでは、これらがすべて新しいカードセットの設定になります。カードセットの「追加・更新」では deck・domain・direction・tags・tile・template は無視され、カードだけが取り込まれます(追加・更新)。

カードの項目

項目必須値意味
front(別名 term)必須文字列表=問題・覚える主役。空のカードは取り込まれません。
back(別名 meaning)任意文字列裏=その答え。意味とは限らず、人名・年号・式・説明なども可。
reading任意文字列読み・発音。漢字の用語の読み(かな)や、英単語の発音記号など。書くとカードの形と向きの既定が変わります(決まり方)。
no任意文字列番号。並び順の目安、範囲指定、上書きの照合に使います(番号)。"1" のように引用符で囲みます。
tags任意文字列の配列カードのタグ(タグ)。
distractors任意オブジェクト4択のまちがいの選択肢(distractors)。
image任意文字列問題側の画像(画像)。
imageBack任意文字列答え側の画像。答えを見せたときだけ出ます。
senses任意オブジェクトの配列複数の意味(senses)。
values任意(上級)オブジェクトレイアウトの項目ごとの値(values)。

文字列の前後の空白や改行は取り除かれます。文の途中の改行(\n)はそのまま改行として表示されます。

カードの形の決まり方

template を書かないとき、カードの形(どんな項目を持つか)は、データ全体を見て次の順で1つに決まります。上の条件に当てはまったら、そこで決まりです。

順条件カードの形(項目)domain の既定向きの既定
1どれかのカードに senses がある英単語(語義):単語・発音・[意味・品詞・例文]×意味の数englishfrontToBack
2domain が english、またはどれかの front に [[ があるシステム:英語・発音・意味(意味は複数可)englishfrontToBack
3どれかのカードに reading がある用語・読み・意味generalbackToFront
4上のどれでもない問題・答えgeneralfrontToBack

向きの決まり方

direction を書けばその向きになります。書かなければ、上の表の「向きの既定」になります。

注意一般の教科で reading を1枚でも書き、direction を省くと、向きは backToFront(意味を見て用語を答える)になります。「問題を見て答える」にしたいときは、"direction": "frontToBack" を必ず書いてください。

漢字の読みそのものが答えのときは、reading を空にして、読みを back に書きます(表にふりがなが出て答えが見えてしまうのを防ぐため)。意味が答えのときは、reading に読みを書いてかまいません。

番号(no)

上書きの照合キー

カードセットの「追加・更新」では、番号が同じカードの内容だけを上書きし、学習の進みは残します。番号は数として比べるので、"0012" と "12" は同じです。同じ番号が無ければ front の文字(前後の空白と英字の大文字・小文字を無視)で照合し、それも無ければ追加します。同じデータの中で同じ番号が2回出てきたら、あとのほうで上書きされます。くわしくは 上書きのルール。

タグ

対象語の記法 [[ ]]

文の中の一部を [[ ]] で囲むと、その部分を「覚える対象」として扱います。取り込むときに印は消え、範囲の情報としてカードに残ります。

書く場所働き例
front対象語。出題で強調したり、空所(穴埋め)にしたりする"[[follow]] her advice"
back・例文対応する穴。答え側の該当部分を穴埋めや強調にする"彼女の助言に[[従う]]"

表示のされ方は カードの書き方と表示 を見てください。

複数の意味(senses)

1つの英単語に意味がいくつもあるときは、senses の配列で意味ごとに分けます。1つの要素が1つの意味です。

キー中身
meaning意味。この意味の見出しで、答えにもなります。
partOfSpeech品詞(例:動詞)。
example例文。[[ ]] で囲んだ部分は穴埋めの穴になります。

まちがいの選択肢(distractors)

4択の問題で正解と一緒に並べる誤答です。書いておくと4択の質が上がります。特にカードが少ないカードセットで効果があります。書かなければ、同じカードセットのほかのカードから自動で選ばれます。

"distractors": {
  "back":  ["足利尊氏", "北条時宗", "平清盛"],
  "front": ["室町幕府を開いた人物は?", "江戸幕府を開いた人物は?", "建武の新政を行った人物は?"]
}
キーいつ使うか書く内容
back答え(back)を選ぶ問題(向きが frontToBack)正解の答えと同じ種類・書き方で、内容だけちがうもの
front問題側(front)を選ぶ問題(向きが backToFront)正解の問題側と同じ種類のまちがい

画像(image・imageBack)

image は問題側(出題と同時に見える)、imageBack は答え側(答えを見せたときだけ出る)の画像です。どちらも次の2通りで書けます。

書き方例使える取り込み方
データに埋め込む(base64)"data:image/jpeg;base64,/9j/4AAQ..."すべて(貼り付け・.json 単体・zip・フォルダ・Wi-Fi)
ファイル名で参照する"fig1.jpg"、"images/fig1.jpg"zip とフォルダだけ(.json と同じ場所からの相対パス)

ふりがな・化学式・数式

front・back・例文などの文の中には、次の記法が書けます。書き方と表示のされ方のくわしい説明は カードの書き方と表示 にあります。

記法用途JSON での書き方の例
《よみ》(起点は |)ふりがな"鹿苑寺《ろくおんじ》(金閣)を建てた人物は?"
\ce{ }化学式・イオン・反応式"\\ce{2H2 + O2 -> 2H2O}"
\math{ }数式(LaTeX)"\\math{\\frac{1}{2}bh}"
JSON の中では \ を2つ重ねるJSON の文字列の中で \ は特別な意味を持つので、\ce は \\ce、\frac は \\frac と書きます。"\ce{H2O}" や "\math{…}" のように1つだけだと形式の誤りになり、データ全体が取り込めません。さらに、\math を正しく重ねても、中の \frac・\theta・\beta・\right・\neq などを1つだけで書くと、エラーにならずに別の文字(改ページ・タブ・改行など)に化けてしまいます。AI が作るデータはふつう正しく重ねてあります。手で書くときに注意してください。

レイアウトを指定する(template)

ふつうは データから自動で決まる形 で十分です。年号などの独自の項目を持たせたいとき、入力の種類を決めたいときだけ、template を書きます。

名前で選ぶ

template に文字列を書くと、決まった形から選べます(大文字・小文字は区別しません)。

書く値形向きの既定domain の既定
"termReadingMeaning"・"kanji"・"term"用語・読み・意味backToFrontgeneral
"qa"・"frontback"・"問題答え"問題・答え(読みの項目なし。reading は捨てられる)frontToBackgeneral
"english"・"systan"・"chunk"・"system"システム(英語・発音・意味)frontToBackenglish

どれにも当たらない文字列のときは、domain が general なら「用語・読み・意味」、それ以外なら「システム」になります。名前で選んだときは、番号はいつも「手入力(数字)」です。

項目を自分で定義する

template にオブジェクトを書くと、項目を自由に定義できます。表(front)の項目は fields に入れず、front で設定します。fields には表以外の項目を並べ、答え(裏)になる項目を1つ含めます。

{
  "format": "areko-deck",
  "version": 3,
  "deck": "日本史 年号",
  "template": {
    "name": "年号",
    "front": { "label": "できごと" },
    "number": "manualDigits",
    "fields": [
      { "role": "year",  "label": "年", "type": "number", "answer": true, "required": true },
      { "role": "point", "label": "ポイント" }
    ]
  },
  "cards": [
    { "no": "1", "front": "鎌倉幕府の成立", "values": { "year": "1185", "point": "守護・地頭の設置" } },
    { "no": "2", "front": "応仁の乱", "back": "1467" }
  ]
}

2枚目のように、答えの項目は back でも書けます。

template の項目値意味(省略時)
name文字列レイアウトの名前(「取り込みレイアウト」)
front.label文字列表の項目名(「おもて」)
front.hint文字列入力欄の例(なし)
front.keyboardauto・english・japanese表を入力するときのキーボード(auto)
front.target真偽表で [[ ]] の対象語を使うか(false。データに [[ ]] があれば自動で有効)
numberauto・manualDigits・manualFree番号の付け方。自動(登録順)・手入力(数字)・手入力(文字列)(auto)
fields配列(必須)表以外の項目の定義(下の表)
fields の項目値意味(省略時)
role文字列(必須)項目のキー。values や senses のキーと対応します。決まった役割は meaning(意味)・reading(読み)・pronunciation(発音)・partOfSpeech(品詞)・example(例文)・etymology(語源)・altForm(別表記)。それ以外の名前も自由に使えます。
label文字列画面に出る項目名(role と同じ)
hint文字列入力欄の例(なし)
typetext・number・yesNo・select入力の種類。テキスト・数字・はい/いいえ・選択肢(text)
options文字列の配列select の選択肢(なし)
answer真偽この項目を答え(裏)にする(false)
required真偽必須の項目にする(false)
multiple真偽値を複数持てる(false。複数でない項目に配列を渡すと先頭だけ使う)
blanks真偽[[ ]] の穴埋めを使える(false)
group真偽意味ごとのまとまり(語義)の中の項目にする(false)。値は senses から入る
head真偽語義のまとまりの見出しにする(false)
keyboardauto・english・japanese入力のキーボード(auto)
usableAsAnswer真偽出題で答えとして使えるか(true)

values

values は「role → 値」の対応です。値は文字列1つか、文字列の配列です。

zip・フォルダの構成

画像をファイルで参照するときは、.json と画像を1つのフォルダに入れるか、それを zip にします。

rekishi/                ← このフォルダを選ぶ(または rekishi.zip)
├── deck.json           ← データ(名前は自由。末尾は .json)
├── fig3.jpg            ← "image": "fig3.jpg"
└── images/
    └── kaisetsu3.jpg   ← "imageBack": "images/kaisetsu3.jpg"

文字コード

書き出したファイル(移行用)

「デッキを書き出す(別の端末へ)」で作られるファイル(名前の末尾が .arekodeck.json)は、areko-deck の上位の形式です。areko-deck と同じ項目(deck・cards の front・back など)に加えて、"profile": "migration" と、カードのレイアウト・出題の設定・画像などを完全に持つ migration という部分があります。

CSV の形式

CSV は、すでにあるカードセットへの追加に使います(手順は CSVで取り込む)。列はそのカードセットのレイアウトで決まるので、まず画面の「テンプレートを書き出す」でテンプレートを作るのが確実です。

番号,単語,発音,意味,例文
1,run,/rʌn/,走る;経営する,I run every morning.
2,achieve,,達成する,

取り込む前のチェック

  1. "format": "areko-deck" がある。
  2. JSON として正しい(最後の要素の後ろにカンマが無い、引用符の閉じ忘れが無い、引用符は半角の ")。
  3. すべてのカードに front がある。
  4. no は "1" のように引用符つきの文字列。1 から連番で重複なし。
  5. tags は配列、distractors は { "back": [...] } の形。
  6. [[ と ]]、《 と 》 の数が合っている。
  7. \ce{ }・\math{ } の波括弧が閉じていて、\ は \\ と重ねてある。
  8. [[ ]] の範囲が、ふりがな・化学式・数式の途中で切れていない。
  9. 一般の教科で reading を使うなら direction を書いた。
  10. 画像をファイル名で参照するなら、zip かフォルダにまとめ、ファイル名が一致している。

よくあるエラーと対処

表示が出るもの

表示原因
「内容が areko のデッキ JSON ではないようです。…」(貼り付け・Wi-Fi)
「ファイルの形式が違うようです:…」(ファイル)
format が無い・値が違う。または JSON の書き方の誤り(カンマ・引用符・括弧、全角の引用符、\ を重ねていない \ce など、// のコメント)。データが途中で切れている。
「JSON を読み取れませんでした:…」(貼り付け・Wi-Fi)
「ファイルの形式が違うようです:…」(ファイル)
形式は合っているが、値の種類が違う:"no": 1(引用符なし)、"version": "3"(引用符あり)、"tags": "社会"(配列でない)、cards が無い・配列でない、distractors が配列になっている、image が文字列でない、など。
「フォルダ内に取り込めるJSONが見つかりませんでした。」フォルダ・zip の中に末尾が .json のファイルが無い。
「zip を展開できませんでした:…」zip が壊れている、パスワード付き、または対応していない圧縮方式。
「このデッキ形式(areko)のJSONではないようです。…」「追加・更新」に移行用ファイルなど areko-deck 以外を渡した。
「取り込めるカードが見つかりませんでした。」「追加・更新」で、front のあるカードが1枚も無い。

表示は出ないが、思ったとおりにならないもの

起きること原因と対処
カードが0枚、または枚数が足りないfront が無いカードは取り込まれません。question・answer など別の名前で書くと無視されます。front/term、back/meaning に直します。お知らせの枚数はデータに書かれた枚数なので、実際より多く出ることがあります。
答えから問題を当てる向きになるreading があり direction が無い(向きの決まり方)。"direction": "frontToBack" を書きます。綴りの誤り("FrontToBack" など)も無視されます。
読みが消えたtemplate に "qa" を指定すると読みの項目が無いので捨てられます。
英単語のカードセットにならないdomain の綴りを確かめます("english")。
数式の一部が消える・おかしな空白が入る\frac などの \ を1つしか書いていません。\\frac にします。
[[ ]] が文字のまま見える閉じ忘れ、または中身が空。「追加・更新」では、カードセットのレイアウトが対象語・穴埋めを使わない項目に入れた [[ ]] は文字のまま入ります。
品詞・例文が入らないsenses のキーが partOfSpeech・example になっているか確かめます。
画像が付かないファイル名の不一致(大文字・小文字も)、.json と画像の位置関係のずれ、貼り付け・.json 単体での取り込み(ファイル参照は zip・フォルダのときだけ有効)。
アイコンが変わらないsymbol と emoji は symbol が優先です。color は見た目に影響しません。アイコンは取り込んだあとに本棚の「編集」でも変えられます。

よくある疑問

形式の正式な仕様はどこにありますか?

このページの内容が、アプリが実際に受け付けている形式です。AI に渡すプロンプト(プロンプトに書いてあること)にも、ふつうの使い方に必要な部分がまとめてあります。プロンプトの全文は「AIでプリントから作る」画面の「プロンプト全文を見る」で読めます。

version は書かないといけませんか?

書かなくても取り込めます。書くなら 3(引用符なしの数)にしてください。

term と front、meaning と back はどちらを使えばいいですか?

どちらでも同じです。両方書いた場合、自動で決まる形では term・meaning が優先されることがあるので、どちらか一方にそろえてください。プロンプトでは front・back を使っています。

1つのデータに何枚まで入れられますか?

枚数の上限は決めていません。ただし AI の返答には長さの上限があり、貼り付けや画像の埋め込みで大きくなると扱いにくくなります。数百枚を超えるときは、分けて作って「追加・更新」で足すのがおすすめです。

同じデータを読み込み直すと、学習の記録は消えますか?

本棚から読み込むと別のカードセットが増えるだけで、元のカードセットの記録はそのままです。元のカードセットを更新したいときは「追加・更新」を使えば、番号(または front)が同じカードの内容だけが変わり、学習の進みは残ります。

データにコメントを書けますか?

書けません。JSON にはコメントの書き方が無く、// や /* */ を書くと形式の誤りになります。メモを残したいときは、使われない項目名(例:"memo")に書けば無視されます。

AIの返答に「```json」や説明文が付いたままでも取り込めますか?

取り込めます。areko は最初の { から対応する } までを取り出します。ファイルの中身が説明文つきでも同じです。

カードごとにレイアウトを変えられますか?

できません。カードの形はデータ(カードセット)全体で1つです。形のちがうカードは、別のカードセットに分けてください。

漢字の読みを答えさせたいときは?

front に漢字、back に読みを書き、reading は空にします。reading を書くと表にふりがなが出て、答えが見えてしまいます。

Excel で作った表を JSON にしなくても取り込めますか?

すでにあるカードセットへの追加なら CSV のまま取り込めます(CSV の形式)。新しいカードセットを作るときは、先に 新しいカードセット で空のカードセットを作ってから CSV を取り込みます。