かな漢字変換

ローマ字、ひらがなの文を文節に区切り、変換候補を提示します。短い文字列から変換候補を推測するモードも提供します。VJEと同じ方式のかな漢字変換です。

リクエストURL

JSON
https://jlp.yahooapis.jp/JIMService/V2/conversion
※GETリクエストには対応していません。
※Client ID(アプリケーションID)をリクエストに付与する必要があります。詳細はサンプルコードをご覧ください。

リクエストパラメータ(POST)

JSON-RPC 2.0の仕様 に準拠しています。

パラメータ 説明
id(必須) string,integer JSON-RPC 2.0のid。値は任意で、指定した値がレスポンスのidにも返ります。
jsonrpc(必須) string 値は「2.0」としてください。
method(必須) string 値は「jlp.jimservice.conversion」としてください。
params(必須) object
params/q(必須) string かな漢字変換対象のテキストです。
文節の区切りを指定したい場合は、テキストを半角スペースで区切ってください。ローマ字変換モード(roman)、推測変換モード(predictive)では機能しません。
半角スペースが2文字連続して並ぶ場合は、文節の区切りではなく1文字の半角スペースとして処理します。
最大文字数は80文字(ひらがな換算時)までとします。
params/format(任意) string "q"のテキストフォーマットを指定できます。
  • "hiragana": かな漢字変換の対象となるテキスト情報はひらがなのみとなります。
  • "roman": リクエストされたテキスト情報中のひらがなと半角英小文字が変換対象となります。
params/mode(任意) string かな漢字変換処理で通常変換、ローマ字変換、推測変換のいずれかを指定します。
  • "kanakanji": 通常の変換候補を返す通常変換を行います。
  • "roman": ローマ字からひらがなに変換した結果のみを返すローマ字変換を行います。指定変換候補(option)、辞書指定(dictionary)は使用できません。
  • "predictive": 推測変換の候補を返します。指定変換候補(option)、辞書指定(dictionary)は使用できません。
無指定の場合は"kanakanji"になります。
params/option(任意) array(string) 通常のかな漢字変換のほかに、指定の変換候補を返します。複数指定できます。
  • "hiragana": 全角ひらがな変換の内容をHiraganaに返します。
  • "katakana": 全角カタカナ変換の内容をKatakanaに返します。
  • "alphanumeric": 全角英数字変換の内容をAlphanumericに返します。
  • "half_katakana": 半角カタカナ変換の内容をHalfKatakanaに返します。
  • "half_alphanumeric": 半角英数字変換の内容をHalfAlphanumericに返します。
無指定の場合は通常変換のみになります。
params/dictionary(任意) array(string) 変換候補用の辞書を指定します。複数指定できます。
  • "base": 一般辞書の候補を返します。
  • "name": 人名辞書の候補を返します。
  • "place": 地名辞書の候補を返します。
  • "zip": 郵便番号辞書の候補を返します。
  • "symbol": 顔文字、記号辞書の候補を返します。
無指定の場合は"base"になります。
params/results(任意) integer 文節単位の変換候補の数を指定します。
無指定の場合は999(最大値)になります。

サンプルリクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

サンプルコード

かな漢字変換を使用したサンプルコードです。

レスポンスフィールド

JSON-RPC 2.0の仕様 に準拠しています。

フィールド 説明
id string,integer リクエストのidの値が返ります。
jsonrpc string 固定で「"2.0"」が返ります。
result object 文節ごとの変換結果で各個別レスポンスを含みます。
segment array(object) かな漢字変換によって区切られたテキスト情報の文節のリストです。各文節の情報を含みます。
reading string 文節ごとの読みにあたる文字列です。
hiragana string 全角ひらがなの変換結果です。
katakana string 全角カタカナの変換結果です。
alphanumeric string 全角英数字の変換結果です。
half_katakana string 半角カタカナの変換結果です。
half_alphanumeric string 半角英数字の変換結果です。
candidate array(string) 変換候補です。

サンプルレスポンス

例1:かな漢字変換

以下は、q="きょうはよいてんきです。"のリクエストに対するレスポンスです。

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

レスポンス

 {
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "segment": [
      {
        "reading": "きょうは",
        "hiragana": "きょうは",
        "katakana": "キョウハ",
        "alphanumeric": "kyouha",
        "half_katakana": "キョウハ",
        "half_alphanumeric": "kyouha",
        "candidate": ["今日は", "きょうは", "教派", "興は", "京は", "強は", "経は", "教は", "境は", "凶は", "卿は", "峡は", "協は", "香は", "恭は", "享は", "杏は", "馨は", "叶は", "許は", "亨は", "競は", "共は", "匡は", "叫は", "喬は", "彊は", "橋は", "郷は", "鏡は", "響は", "驚は", "尭は", "暁は", "慶は", "洪は", "姜は", "癸生は"]
      },
      {
        "reading": "よい",
        "hiragana": "よい",
        "katakana": "ヨイ",
        "half_katakana": "ヨイ",
        "alphanumeric": "yoi",
        "half_alphanumeric": "yoi",
        "candidate": ["よい", "良い", "宵", "酔い", "四位", "4位", "余威", "好い", "善い", "佳い", "吉い", "快い", "与位", "与井", "與井", "嘉", "四意", "世以", "代威", "代居", "霄", "佳", "可", "儀", "義", "誼", "吉", "慶", "好", "淑", "酔", "善", "良", "俶", "懿", "譱", "臧", "醉"]
      },
      {
        "reading": "てんきです。",
        "hiragana": "てんきです。",
        "katakana": "テンキデス。",
        "alphanumeric": "tennkidesu.",
        "half_katakana": "テンキデス。",
        "half_alphanumeric": "tennkidesu.",
        "candidate": ["天気です。", "転機です。", "転記です。", "転帰です。", "天機です。", "天貴です。", "てんきです。"]
      }
    ]
  }
}

例2:予測変換

以下は、"q"に"きょ"を指定した際のリクエストに対するレスポンスです。

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょ",
    "format": "hiragana",
    "mode": "predictive",
    "results": 999
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "segment": [
      {
        "reading": "きょ",
        "candidate":["きょ", "協同", "きょう", "京", "今日", "教育", "協会", "境界", "教会", "供給", "協議会", "教材", "教師", "教室", "教授", "強調", "共通", "共通の", "京都", "共同", "恐怖", "興味", "共有", "協力", "強力", "強力な", "強力に", "強烈な", "局面", "去年", "距離", "兄弟", "協議", "強", "経", "教科書", "競争", "曲", "教養", "極大", "強化", "教示", "強打", "強大", "供与", "教科", "鏡台", "曲線", "拒否", "共産", "挙行", "驚異", "競泳", "共済", "協賛", "強靭", "強度", "狂乱", "局", "極致", "居", "挙", "虚", "供", "凶", "協", "卿", "境", "峡", "教", "興", "凶悪", "胸囲", "脅威", "教員", "共益", "競演", "共演", "胸郭", "恐喝", "共感", "教官", "京ケ瀬村", "京ヶ瀬村", "凶器", "狂喜", "狂気", "競技", "教訓", "境遇", "供血", "強健", "強権", "狂犬", "狂犬病", "狂言", "強固", "強硬", "強行", "恐慌", "峡谷", "強国", "胸骨", "競合", "強豪", "京極町", "共催", "競作", "凶作", "共産党", "興ざめ", "教習", "郷愁", "教習所", "恐縮", "供出", "教書", "狭小", "教職", "強震", "強弱", "享受", "供述", "強制", "強請", "教生", "矯正", "教祖", "競走", "強壮", "教則", "共存", "胸像", "供託", "京田辺市", "驚嘆", "凶弾", "教団", "教壇", "境地", "胸中", "協調", "競艇", "協定", "強敵", "共闘", "教頭", "京都駅", "京都市", "京都府", "郷土", "享年", "脅迫", "共犯", "競売", "強風", "胸部", "強弁", "教鞭", "共謀", "凶暴", "狂暴", "教務", "共鳴", "協約", "教諭", "共用", "強要", "享楽", "供覧", "郷里", "共立", "橋梁", "強烈", "共和", "協和", "共和国", "共和町", "協和町", "虚栄", "許可", "巨額", "虚偽", "極", "局員", "曲技", "曲芸", "局限", "極限", "旭志村", "局所", "極小", "極少", "曲折", "極端", "局地", "極地", "局長", "極度", "局内"]
      }
    ]
  }
}

例3:ローマ字変換

以下は、"q"に"kyouhayoitennkidesu."を指定した際のリクエストに対するレスポンスです。

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "kyouhayoitennkidesu.",
    "format": "roman",
    "mode": "roman"
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "segment": [
      {
        "reading": "きょうはよいてんきです。"
      }
    ]
  }
}

エラー

かな漢字変換はYahoo! JAPAN Web APIに共通のエラーメッセージおよびコードが返ります。

また、リクエストパラメータが本ドキュメント記載の仕様と異なる場合、ステータスコード200でJSON-RPC 2.0の仕様に準拠したレスポンスが返ることがあります。

フィールド 説明
id string,integer リクエストのidの値が返ります。
jsonrpc string 固定で「"2.0"」が返ります。
error object
error/code integer JSON-RPC 2.0の仕様に準拠したエラーコードです。
error/message string JSON-RPC 2.0の仕様に準拠したエラーメッセージです。

例1:不正なJSONの場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }

レスポンス

{
  "id": null,
  "jsonrpc": "2.0",
  "error": {
    "code": -32700,
    "message": "Parse error"
  }
}

例2:必須のパラメータがない場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "error": {
    "code": -32600,
    "message": "Invalid request"
  }
}

例3:存在しないmethodを指定した場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "invalid.method.name",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

レスポンス

{
  "id": "1234-1",,
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "Method not found"
  }
}

利用制限

かな漢字変換では、1リクエストの最大サイズを 4KB に制限しています。また、利用回数の制限については利用回数の制限についてをご参照ください。

アプリケーションの管理

目次

利用のルール

開発のヒント