(57)【要約】      （修正有）【課題】ＪＳＯＮを用いてデータセットの構造を変換する電子装置及びその動作方法を提供する。【解決手段】電子装置１００において、実行中のプログラムと対応するウィンドウを表示する表示部、プログラムを介したデータ構造の変換に用いられる複数の識別子及び対応するインストラクションがマッチングされたルックアップテーブルを格納する格納部、ウィンドウ内に第１データを挿入するのに用いられる第１入力および第１データおよび第２データの生成を指示するのに用いられる第２入力を印加する入力部、第１データから識別子を検出する文字識別部、ルックアップテーブルを用いて識別子と対応するインストラクションを確認した後、第１データと対応するスプレッドシートの構造を決定する構造設計部、および構造が決定されたスプレッドシートを生成し、第１データに含まれたオブジェクトおよび配列をスプレッドシートに挿入するデータセット生成部を含む。【選択図】図１
2020047254.tif 000002
【特許請求の範囲】
【請求項１】
電子装置において実行中のプログラムと対応するウィンドウを表示するように設定された表示部、
前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納する格納部、
前記表示部を介して表示されている前記ウィンドウ内に第１データを挿入するのに用いられる第１入力、および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加する入力部、
前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出する文字識別部、
前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定する構造設計部、および、
前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入するデータセット生成部を含み、
前記複数の識別子は、コロン、コンマ、大括弧および中括弧のうち少なくとも一つを含み、
前記構造設計部は、前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの左側に記載された文字を識別し、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認し、前記確認された個数に基づいて前記スプレッドシートの列の個数を決定し、前記決定された列の個数に応じて前記スプレッドシートの構造を決定する
ことを特徴とするＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項２】
前記構造設計部は、
前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの右側に記載された文字を識別し、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認し、前記確認された個数に基づいて前記スプレッドシートの行の個数を決定し、前記決定された行の個数に応じて前記スプレッドシートの構造を決定する
請求項1に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項３】
前記データセット生成部は、
前記少なくとも一つの識別子として一つ以上のコロンまたは前記中括弧が検出される場合、前記検出された一つ以上のコロンの個数または前記検出された中括弧の個数に応じて前記第１データに含まれた前記一つ以上のオブジェクトの個数を確認し、
前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入し、
前記予め指定された領域中の２番目の列に前記検出された一つ以上のコロンの左側に記載された第２文字および前記検出された一つ以上のコロンの右側に記載された文字のうち前記第２文字と対応する第３文字を行を変えながら挿入する
請求項1に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項４】
前記構造設計部は、
前記少なくとも一つの識別子としてコロンが検出されず且つ一つ以上のコンマおよび１対以上の大括弧が検出される場合、前記検出された１対以上の大括弧の個数に応じて前記第１データに含まれた前記一つ以上の配列の個数を確認し、前記検出された一つ以上のコンマの個数に応じて前記一つ以上の配列に含まれた索引値の個数を確認する
請求項1に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項５】
前記構造設計部は、
前記確認された一つ以上の配列の個数に基づいて前記スプレッドシートの列の個数を決定し、前記決定された列の個数に応じて前記スプレッドシートの構造を決定する
請求項４に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項６】
前記構造設計部は、
前記確認された索引値の個数に基づいて前記スプレッドシートの行の個数を決定し、前記決定された行の個数に応じて前記スプレッドシートの構造を決定する
請求項４に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項７】
前記データセット生成部は、
前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入し、
前記予め指定された領域中の２番目の列に第２文字および前記一つ以上の配列に含まれた索引値を行を変えながら挿入する
請求項４に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置。
【請求項８】
電子装置において実行中のプログラムと対応するウィンドウを表示するステップ、
前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納するステップ、
前記ウィンドウ内に第１データを挿入するのに用いられる第１入力、および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加するステップ、
前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出するステップ、
前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定するステップ、および、
前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入するステップを含み、
前記複数の識別子は、コロン、コンマ、大括弧および中括弧のうち少なくとも一つを含み、
前記スプレッドシートの構造を決定するステップは、
前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの左側に記載された文字を識別するステップ、
前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認するステップ、
前記確認された個数に基づいて前記スプレッドシートの列の個数を決定するステップ、および、
前記決定された列の個数に応じて前記スプレッドシートの構造の決定を実行するステップを含む
ことを特徴とするＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項９】
前記スプレッドシートの構造を決定するステップは、
前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの右側に記載された文字を識別するステップ、
前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認するステップ、
前記確認された個数に基づいて前記スプレッドシートの行の個数を決定するステップ、および、
前記決定された行の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含むことを特徴とする、請求項８に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項１０】
前記生成されたスプレッドシートに挿入するステップは、
前記少なくとも一つの識別子として一つ以上のコロンまたは前記中括弧が検出される場合、前記検出された一つ以上のコロンの個数または前記検出された中括弧の個数に応じて前記第１データに含まれた前記一つ以上のオブジェクトの個数を確認するステップ、
前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入するステップ、および、
前記予め指定された領域中の２番目の列に前記検出された一つ以上のコロンの左側に記載された第２文字および前記検出された一つ以上のコロンの右側に記載された文字のうち前記第２文字と対応する第３文字を行を変えながら挿入するステップをさらに含む
請求項８に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項１１】
前記スプレッドシートの構造を決定するステップは、
前記少なくとも一つの識別子としてコロンが検出されず且つ一つ以上のコンマおよび１対以上の大括弧が検出される場合、前記検出された１対以上の大括弧の個数に応じて前記第１データに含まれた前記一つ以上の配列の個数を確認するステップ、および、
前記検出された一つ以上のコンマの個数に応じて前記一つ以上の配列に含まれた索引値の個数を確認するステップをさらに含む
請求項８に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項１２】
前記スプレッドシートの構造を決定するステップは、
前記確認された一つ以上の配列の個数に基づいて前記スプレッドシートの列の個数を決定するステップ、および、
前記決定された列の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含む
請求項１１に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項１３】
前記スプレッドシートの構造を決定するステップは、
前記確認された索引値の個数に基づいて前記スプレッドシートの行の個数を決定するステップ、および、
前記決定された行の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含む
請求項１１に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項１４】
前記生成されたスプレッドシートに挿入するステップは、
前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入するステップ、および、
前記予め指定された領域中の２番目の列に第２文字および前記一つ以上の配列に含まれた索引値を行を変えながら挿入するステップをさらに含む
請求項１１に記載のＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法。
【請求項１５】
請求項８ないし１４のいずれかに記載の方法をコンピュータが実行するようにするプログラムを記録した
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１６】
請求項８ないし１４のいずれかに記載の方法をコンピュータとの結合によって実行させるための格納媒体に格納された
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＳＯＮを用いてデータセットの構造を変換する電子装置およびその動作方法に関する。
【背景技術】
【０００２】
最近、コンピュータ、スマートフォンまたはタブレットＰＣなどのような電子装置が広く普及されるにつれて、このような電子装置を用いてデータを処理する様々な方式が紹介されている。例えば、様々なセンサが備えられた電子装置は、センサを介して電子装置の周辺環境に関する情報または電子装置を用いるユーザに関する情報などを取得し、取得された情報に基づいてデータを処理することができる。特に、超高速インターネットを基礎にしたネットワーク網が構築され、いつどこでもインターネットに接続できる環境が作られることによって、ユーザは遠隔地のサーバに接続して電子文書を閲覧、作成または編集することができるようになった。このように、最近では、電子装置に所定の電子文書関連のプログラムが設置されていなくても、インターネットに接続さえできれば、いつどこでも電子文書を閲覧、作成または編集できるウェブベースの文書編集サービスが登場している。
【０００３】
ウェブベースの文書編集サービスは、様々な電子装置が管理サーバに接続した後、ブラウザを介してマークアップ言語（Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースの電子文書を閲覧した後、該電子文書を作成および編集できる機能を支援している。ここで、マークアップ言語（Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのように電子文書に含まれているコンテンツの書式、構造などに関する付加情報をタグによって表す言語を意味する。
【０００４】
一方、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）（以下、「ＪＳＯＮ」と称する）は、人が読んだり書いたりするのに容易であり、機械が分析し生成するにも容易な軽量のデータ交換形式であって、特定のプログラミング言語やプラットフォームに拘らない独立的な特性を有しているため、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＰｅｒｌおよびＰｙｔｈｏｎなどのような様々なプログラミング言語を介して容易に利用可能であるという長所がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電子装置は、サーバとの通信時、ＸＭＬに従って作成されたデータセット（ｄａｔａ  ｓｅｔ）を転送する。この時、データセットは、行と列からなる２次元形態の情報を意味する。一方、サーバはＪＳＯＮに従って作成されたＪＳＯＮデータを用いて情報を処理し、ＪＳＯＮデータは２次元を含む多次元形態に定義できることにその特徴がある。それにより、電子装置およびサーバ間にデータをやり取りするためには、データセットとＪＳＯＮデータを相互変換できるアルゴリズムが必要である。
【０００６】
本文書に開示された様々な実施形態は、電子装置およびサーバ間の通信時にデータセットとＪＳＯＮデータ間の変換を容易に実行する方法を提案するために導き出されたものである。例えば、一実施形態による電子装置は、２次元形態の情報であるデータセットを生成した後、生成されたデータセットがサーバに転送されて処理されるようにするために、前記生成されたデータセットを多次元形態の情報であるＪＳＯＮデータに変換することができる。
【課題を解決するための手段】
【０００７】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置は、電子装置において実行中のプログラムと対応するウィンドウを表示するように設定された表示部、前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納する格納部、前記表示部を介して表示されている前記ウィンドウ内に第１データを挿入するのに用いられる第１入力および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加する入力部、前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出する文字識別部、前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定する構造設計部、および前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入するデータセット生成部を含む。
【０００８】
また、本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法は、電子装置において実行中のプログラムと対応するウィンドウを表示するステップ、前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納するステップ、前記ウィンドウ内に第１データを挿入するのに用いられる第１入力および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加するステップ、前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出するステップ、前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定するステップ、および前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入するステップを含む。
【発明の効果】
【０００９】
本文書に開示された様々な実施形態によれば、電子装置は、２次元形態に定義されたデータセットを多次元形態に定義されたＪＳＯＮデータに変換することができる。それにより、ＪＡＶＡ（登録商標）ベースのサーバサイドのアプリケーションにデータセットに基づいた情報を提供することが可能となって、サービスの汎用性が拡大できる。
【００１０】
それのみならず、最近、企業のサーバサイドで処理されるデータはＪＳＯＮ形式に従って定義される場合が大半であるため、本発明の一実施形態による電子装置を活用して２次元形態の情報および多次元形態の情報間の変換を容易に行うことができるのであれば、データ共有を効率的に実行することができ、データ変換のために別途の人的資源を補充する必要がなくなって費用が減少するという効果が期待できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による電子装置の構成を示す説明図
【図２ａ】本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する過程の説明図
【図２ｂ】本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する過程の説明図
【図２ｃ】本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する過程の説明図
【図２ｄ】本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する過程の説明図
【図２ｅ】本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する過程の説明図
【図３】本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する方法を示すフローチャート
【発明を実施するための形態】
【００１２】
本文書に開示された様々な実施形態は本発明を特定の実施形態に限定するために提示されたものではなく、様々な実施形態を通じて紹介された構成要素は本発明の思想および技術範囲に含まれる全ての変更可能な均等物乃至代替物を含む意味として提示されたものであることを当業者であれば容易に理解することができる。また、各図面を説明するにおいて、特に定義されない限り、技術的または科学的な用語を含めて本明細書上で用いられる全ての用語は、本発明が属する技術分野で通常の知識を有した者が一般に理解しているのと同じ意味を有している。また、本発明の目的および効果、そしてそれらを達成するための技術的構成は、添付図面と共に詳細に説明される実施形態を参照すればより明らかになるものである。本発明を説明するにおいて、公知機能または構成に関する具体的な説明が本発明の要旨を不要に濁す恐れがあると判断される場合には、それと関連した詳細な説明は省略する。そして後ほど説明される用語は本発明における構造、役割および機能などを考慮して定義された用語であって、これは使用者および運用者の意図または慣例などに応じて既存に用いられていた意味とは異なって解釈されてもよい。
【００１３】
本発明は、以下にて開示される実施形態に限定されるものではなく互いに異なる様々な形態で実現できることを明らかにしておく。本文書に開示された様々な実施形態は、本発明の開示が完全になるようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は、特許請求の範囲に記載された請求項の範疇によって定義されるのみである。
【００１４】
本文書において、ある部分がある構成要素を「含む」とする時、これは、特に反する記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいことを意味する。また、本発明の様々な実施形態において、各構成要素、機能ブロックまたは手段は一つまたはそれ以上の下部構成要素で構成されてもよく、各構成要素が実行する電気、電子、機械的な機能は電子回路、集積回路、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのような公知の様々な素子または機械的要素で実現されてもよく、各々別個に実現されるかまたは２以上が一つに統合されて実現されてもよい。
【００１５】
一方、添付されたブロック図のブロックやフローチャートのステップは、汎用コンピュータ、特殊用コンピュータ、携帯用ノートブックコンピュータ、ネットワークコンピュータなどのようなデータ処理が可能な装置のプロセッサやメモリに搭載されて指定された機能を実行するコンピュータプログラムインストラクションを意味すると解釈できる。これらのコンピュータプログラムインストラクションはコンピュータ装置に備えられたメモリまたはコンピュータ読み取り可能なメモリに格納されることができるため、ブロック図のブロックまたはフローチャートのステップで説明された機能はそれを実行するインストラクション手段を含む製造物として生産されてもよい。さらに、各ブロックまたは各ステップは、特定された論理的機能を実行するための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、幾つかの代替可能な実施形態においては、ブロックまたはステップで言及された機能が定められた順とは異なって実行されるのも可能であることを注目しなければならない。例えば、次いで図示されている二つのブロックまたはステップは、実質的に同時に実行されるか、または逆順に実行されてもよく、場合によっては一部のブロックまたはステップが省略された状態で実行されてもよい。
【００１６】
図１は、本発明の一実施形態による電子装置の構成を示す図である。様々な実施形態によれば、電子装置１００は、表示部１１０、格納部１２０、入力部１３０、文字識別部１４０、構造設計部１５０およびデータセット生成部１６０のうち少なくとも一つを含むことができる。ここで、文字識別部１４０、構造設計部１５０およびデータセット生成部１６０は特定のインストラクションを実行するモジュールを意味するために用いられ、前記モジュールを介して実行されるインストラクションは電子装置のプロセッサ（図示せず）により実行されると理解できることを明らかにしておく。
【００１７】
電子装置１００の表示部１１０は、電子装置１００から生成された情報を視覚的な形態で電子装置１００の外部（例えば、ユーザ）に提供する機能をすることができる。一つの実施形態によれば、表示部１１０は、タッチを検知するように設定されたタッチ回路または前記タッチにより発生する力の強さを測定するように設定されたセンサ回路を含むことができる。表示部１１０は、電子装置１００のハウジングに含まれた形態のディスプレイを意味するか、または電子装置１００と有線または無線で接続される独立的な形態のディスプレイを意味する。
【００１８】
電子装置１００の格納部１２０は、電子装置１００の少なくとも一つの構成要素により用いられる様々なデータを格納することができる。ここで、データは、ソフトウェアおよびそれと関連した命令に対する入力データまたは出力データを含むことができる。また、格納部１２０は、揮発性メモリまたは不揮発性メモリを含むことができる。
【００１９】
一つの実施形態によれば、格納部１２０は、プログラムおよび前記プログラムを介して提供可能な複数のユーザインターフェースを格納することができる。また、格納部１２０は、プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納することができる。
【００２０】
電子装置１００の入力部１３０は、電子装置１００の構成要素に用いられる命令またはデータを電子装置１００の外部（例えば、ユーザ）から受信することができる。入力部１３０は、マウス、キーボードおよびタッチパッドを含むことができる。一つの実施形態によれば、入力部１３０（例えば、キーボード）を介してユーザから受信される第１入力は、表示部１１０を介して表示されているウィンドウ内に任意のデータを挿入するのに用いられることができる。また、入力部１３０（例えば、マウス）を介してユーザから受信される第２入力は、格納部１２０に格納されたデータのいずれか一つを選択するのに用いられるか、または前記挿入された任意のデータおよび前記ルックアップテーブルに基づいてまた他のデータの生成を指示するのに用いられることができる。
【００２１】
電子装置１００の文字識別部１４０は、入力部１３０を介して受信される第１入力に応じて挿入された第１データから複数の識別子のうち少なくとも一つの識別子を検出することができる。ここで、第１データは、ＪＳＯＮ規則に従って作成されたＪＳＯＮデータを意味する。また、複数の識別子は、コロン、コンマ、大括弧および中括弧のうち少なくとも一つを含むことができる。例えば、文字識別部１４０は、入力部１３０を介してＪＳＯＮデータが入力される場合、入力されたＪＳＯＮデータから予め設定された識別子を検出することができる。
【００２２】
一つの実施形態によれば、文字識別部１４０は、識別子として「：（コロン）」または「｛｝（中括弧）」が検出される場合、前記ＪＳＯＮデータに一つ以上のＪＳＯＮオブジェクトが含まれていると判断できる。また、文字識別部１４０は、検出されたコロンの左側に記載されたＪＳＯＮオブジェクトのキーと検出されたコロンの右側に記載されたＪＳＯＮオブジェクトのバリューを識別することができる。
【００２３】
一つの実施形態によれば、文字識別部１４０は、識別子として「［］（大括弧）」が検出される場合、前記ＪＳＯＮデータに一つ以上のＪＳＯＮ配列が含まれていると判断できる。また、文字識別部１４０は、検出された大括弧内のコンマの個数に基づいて、ＪＳＯＮ配列内に含まれたバリューの個数を識別することができる。
【００２４】
電子装置１００の構造設計部１５０は、格納部１２０に予め格納されたルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認することができる。また、構造設計部１５０は、ルックアップテーブルを確認した結果に基づいて、ＪＳＯＮデータと対応するスプレッドシートの構造を決定することができる。例えば、コロンと対応するインストラクションは、第１に、コロンの左側に記載されたキーと右側に記載されたバリューを識別し、第２に、識別されたキーのうち重複しない互いに異なるキーの個数を確認し、第３に、確認されたキーの個数だけスプレッドシートの列を追加し、第４に、前記キーが識別された順に応じてスプレッドシートの第１行に前記識別されたキーを挿入し、第５に、前記識別されたバリューを対応するキーが記載された列に属する行に挿入する動作を含むことができる。仮に識別子としてコロンが検出される場合、構造設計部１５０は、前記インストラクションに応じてスプレッドシートの構造を決定することができる。
【００２５】
電子装置１００のデータセット生成部１６０は、構造設計部１５０によりスプレッドシートの構造が決定される場合、前記構造が決定されたスプレッドシートを生成することができる。また、データセット生成部１６０は、ルックアップテーブルを介して確認されたインストラクションに応じてＪＳＯＮデータに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入することができる。
【００２６】
一つの実施形態によれば、データセット生成部１６０は、少なくとも一つの識別子として一つ以上のコロンまたは中括弧が検出される場合、前記検出された一つ以上のコロンの個数または前記検出された中括弧の個数に応じて前記第１データに含まれた前記一つ以上のオブジェクトの個数を確認することができる。
【００２７】
また、データセット生成部１６０は、生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入することができる。例えば、第１文字は「ｐａｒｅｎｔＩｄｘ」であり、前記第１文字と対応する索引値は０または１以上の自然数である。ここで、第１文字と対応する索引値は、第１データに含まれた下位オブジェクト間の順を識別するのに用いられることができる。
【００２８】
一方、データセット生成部１６０は、予め指定された領域中の２番目の列に前記検出された一つ以上のコロンの左側に記載された第２文字および前記検出された一つ以上のコロンの右側に記載された文字のうち前記第２文字と対応する第３文字を行を変えながら挿入することができる。例えば、検出されたコロンの左側に「ｋｅｙ１」が記載されており、右側に「ｔｏｂｅｓｏｆｔ」が記載されている。データセット生成部１６０は、第２文字として「ｋｅｙ１」を生成されたスプレッドシートの予め指定された領域中の２番目の列の１番目の行に挿入することができる。また、データセット生成部１６０は、第３文字として「ｔｏｂｅｓｏｆｔ」を生成されたスプレッドシートの予め指定された領域中の２番目の列の２番目の行に挿入することができる。
以下では、図２ａ〜図２ｅ参照して、スプレッドシートに少なくとも一つのデータを挿入する方法について具体的に説明する。
図２ａ〜図２ｅは、本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する過程を説明するための図である。
【００２９】
電子装置１００は、ＪＳＯＮデータおよびデータセットを相互変換することができる。ここで、ＪＳＯＮデータは、「キー（ｋｅｙ）」：「バリュー（ｖａｌｕｅ）」の形態に定義されるＪＳＯＮオブジェクトを含むことができる。この時、ＪＳＯＮオブジェクトにおいて、「：（コロン）」の左側に記入されたデータはＪＳＯＮオブジェクトの「キー」を意味し、「：（コロン）」の右側に記入されたデータはＪＳＯＮオブジェクトの「バリュー」を意味するものとして定義できる。様々な実施形態によれば、ＪＳＯＮデータは、前記ＪＳＯＮオブジェクトまたはバリューが２以上羅列されたＪＳＯＮ配列を含むこともできる。一方、一つ以上のＪＳＯＮオブジェクトは中括弧（｛｝）内に記載されてもよく、ＪＳＯＮ配列は大括弧（［］）内に記載されてもよい。
【００３０】
一つの実施形態によれば、電子装置１００は次のように予め設定された規則に従い、ＪＳＯＮデータおよびデータセットを１対１の対応関係に応じて相互変換することができる。例えば、電子装置１００は、ＪＳＯＮデータに基づいてデータセットを生成する時、生成されたデータセットの最上位エレメントの名前を「ｄｓＭａｓｔｅｒ」と命名できる。また、電子装置１００は、ＪＳＯＮデータがキー（ｋｅｙ）を含まずバリュー（ｖａｌｕｅ）だけを含むかまたはＪＳＯＮ配列だけを含む場合、データセットを構成する少なくとも一つの列の名前を「Ｃｏｌｕｍｎ」と命名し、前記「Ｃｏｌｕｍｎ」と命名された列に前記バリューまたはＪＳＯＮ配列に記載されたデータが挿入されることができる。また、電子装置１００は、ＪＳＯＮデータ内に下位ＪＳＯＮオブジェクトが存在する場合、前記下位ＪＳＯＮオブジェクトの名前を「データセット名＿キー名」と命名できる。例えば、「ｄｓＭａｓｔｅｒ」と命名されたデータセットに「ｋｅｙ２」と命名されたキーを有する下位ＪＳＯＮオブジェクトが含まれている場合、電子装置１００は、前記下位ＪＳＯＮオブジェクトと対応するデータセットの名前を「ｄｓＭａｓｔｅｒ＿ｋｅｙ２」と命名できる。
【００３１】
一方、ＪＳＯＮデータおよびデータセットに含まれた全てのデータのタイプはストリング（ｓｔｒｉｎｇ）に定義できる。また、生成された全てのデータセットはｐａｒｅｎｔＩｄｘ列を含むように設定することができ、電子装置１００は前記ｐａｒｅｎｔＩｄｘ列に記載された値を用いて下位ＪＳＯＮオブジェクト間の順を識別することができる。また、ＪＳＯＮデータ内のＪＳＯＮオブジェクトのバリューがＪＳＯＮオブジェクトの形態を有しつつ１個のみ存在する場合、前記バリューはＪＳＯＮ配列に定義されなくてもよい。
以上の規則を図２ａ〜図２ｅに示された実施形態を通じてより詳しく説明する。
【００３２】
図２ａには、第１ＪＳＯＮデータ２００および第１データセット２０１が示されている。一つの実施形態によれば、電子装置１００は、第１ＪＳＯＮデータ２００に基づいて第１データセット２０１を生成するか、または第１データセット２０１に基づいて第１ＪＳＯＮデータ２００を生成することができる。
【００３３】
例えば、電子装置１００は第１ＪＳＯＮデータ２００から総３個の「：（コロン）」を識別することができ、それにより、第１ＪＳＯＮデータ２００に総３個のＪＳＯＮオブジェクトが含まれていると判断できる。この時、第１ＪＳＯＮオブジェクトは「ｋｅｙ１」：「ｔｏｂｅｓｏｆｔ」であり、第２ＪＳＯＮオブジェクトは「ｋｅｙ２」：「ｎｅｘａｃｒｏ  ｐｌａｔｆｏｒｍ」であり、第３ＪＳＯＮオブジェクトは「ｋｅｙ３」：「２００」である。
【００３４】
一つの実施形態によれば、電子装置１００は、下位ＪＳＯＮオブジェクト間の順を識別するのに用いられるｐａｒｅｎｔＩｄｘ列を第１データセット２０１の第１列に決定することができる。次に、電子装置１００は、第１〜第３ＪＳＯＮオブジェクトが記載された順に応じて第１データセット２０１の第２列〜第４列を決定することができる。より具体的には、電子装置１００は、第１ＪＳＯＮオブジェクトのキーである「ｋｅｙ１」を第１データセット２０１の第１行および第２列に挿入することができ、第２ＪＳＯＮオブジェクトのキーである「ｋｅｙ２」を第１データセット２０１の第１行および第３列に挿入することができ、第３ＪＳＯＮオブジェクトのキーである「ｋｅｙ３」を第１データセット２０１の第１行および第４列に挿入することができる。次に、電子装置１００は、第１ＪＳＯＮオブジェクトのバリューである「ｔｏｂｅｓｏｆｔ」を第１データセット２０１の第２行および第２列に挿入することができ、第２ＪＳＯＮオブジェクトのバリューである「ｎｅｘａｃｒｏ  ｐｌａｔｆｏｒｍ」を第１データセット２０１の第２行および第３列に挿入することができ、第３ＪＳＯＮオブジェクトのバリューである「２００」を第１データセット２０１の第２行および第４列に挿入することができる。すなわち、電子装置１００は、第１ＪＳＯＮデータ２００内のＪＳＯＮオブジェクトのキーを第１行に挿入することができ、バリューを対応するキーが記載された列の第２行以下の行に挿入することができる。一方、第１データセット２０１の名前は、予め設定されたものに従って「ｄｓＭａｓｔｅｒ」と命名できる。
【００３５】
図２ｂには、第２ＪＳＯＮデータ２１０および第２データセット２１１が示されている。一つの実施形態によれば、電子装置１００は、第２ＪＳＯＮデータ２１０に基づいて第２データセット２１１を生成するか、または第２データセット２１１に基づいて第２ＪＳＯＮデータ２１０を生成することができる。
【００３６】
例えば、電子装置１００は第２ＪＳＯＮデータ２１０から大括弧を識別することができ、それにより、第２ＪＳＯＮデータ２１０はＪＳＯＮ配列を含んでいると判断できる。電子装置１００は、ＪＳＯＮ配列に含まれたコンマ（、）からＪＳＯＮ配列に含まれたバリューの個数を識別することができる。一つの実施形態によれば、電子装置１００は、第２ＪＳＯＮデータ２１０から５個のバリューを識別することができる。
【００３７】
一つの実施形態によれば、電子装置１００は、第２ＪＳＯＮデータ２１０がキー（ｋｅｙ）を含まずバリュー（ｖａｌｕｅ）またはＪＳＯＮ配列だけで構成されたものであると判断することができ、それにより、第２データセット２１１を構成する少なくとも一つの列の名前を「Ｃｏｌｕｍｎ」と命名できる。一方、前記「Ｃｏｌｕｍｎ」と命名された列には、前記バリューまたはＪＳＯＮ配列に記載されたデータが挿入されることができる。電子装置１００は、下位ＪＳＯＮオブジェクト間の順を識別するのに用いられるｐａｒｅｎｔＩｄｘ列を第２データセット２１１の第１列に決定することができる。次に、電子装置１００は、第２データセット２１１の第２列の第１行に「Ｃｏｌｕｍｎ」を挿入することができる。また、電子装置１００は、第２ＪＳＯＮデータ２１０から識別されたＪＳＯＮ配列内のバリューを、識別された順に応じて第２データセット２１１の第２行および第２列から行を変えながら挿入することができる。それにより、第２データセット２１１の第２行および第２列には「１１１００」が挿入され、第２データセット２１１の第３行および第２列には「５００」が挿入され、第２データセット２１１の第４行および第２列には「３００」が挿入され、第２データセット２１１の第５行および第２列には「１１２００」が挿入され、第２データセット２１１の第６行および第２列には「４００」が挿入されることができる。すなわち、電子装置１００は、第２ＪＳＯＮデータ２１０内にキーが含まれていないため、第１行に「Ｃｏｌｕｍｎ」を挿入することができる。また、電子装置１００は、ＪＳＯＮ配列内のバリューを「Ｃｏｌｕｍｎ」が記載された列の第２行以下の行に挿入することができる。一方、第２データセット２１１の名前は、予め設定されたものに従って「ｄｓＭａｓｔｅｒ」と命名できる。
【００３８】
図２ｃには、第３ＪＳＯＮデータ２２０と第３−１データセット２２１および第３−２データセット２２２が示されている。一つの実施形態によれば、電子装置１００は、第３ＪＳＯＮデータ２２０に基づいて第３−１データセット２２１および第３−２データセット２２２を生成するか、または第３−１データセット２２１および第３−２データセット２２２に基づいて第３ＪＳＯＮデータ２２０を生成することができる。
【００３９】
例えば、電子装置１００は第３ＪＳＯＮデータ２２０から総３個の「：（コロン）」を識別することができ、それにより、第３ＪＳＯＮデータ２２０に総３個のＪＳＯＮオブジェクトが含まれていると判断できる。第１ＪＳＯＮオブジェクトは「ｋｅｙ１」：「ｔｏｂｅｓｏｆｔ」であり、第２ＪＳＯＮオブジェクトは「ｋｅｙ２」：［「ｋｅｙ２＿０」、「ｋｅｙ２＿１」、「３０００」］であり、第３ＪＳＯＮオブジェクトは「ｋｅｙ３」：「２００」である。これと共に、電子装置１００は、第２ＪＳＯＮオブジェクトのバリューに含まれた大括弧からＪＳＯＮ配列を識別することができる。
【００４０】
一つの実施形態によれば、電子装置１００は、図２ａで説明した方式に応じて、第１〜第３ＪＳＯＮオブジェクトを用いて第３−１データセット２２１を生成することができる。この場合、第３−１データセット２２１の名前は、予め設定されたものに従って「ｄｓＭａｓｔｅｒ」と命名できる。
【００４１】
一つの実施形態によれば、ＪＳＯＮオブジェクトのバリューが第２ＪＳＯＮオブジェクトのようにＪＳＯＮ配列の形態に定義されている場合、電子装置１００は、第２ＪＳＯＮオブジェクトのバリューを第３−１データセット２２１の第２行および第３列に挿入せず、新しいデータセットである第３−２データセット２２２に挿入することができる。このようにＪＳＯＮ配列の形態に定義されたデータをデータセットに作る時には、図２ｂで説明した方式が用いられることができる。すなわち、電子装置１００は、図２ｂで説明した方式に応じて、第２ＪＳＯＮオブジェクトのバリューと対応する第３−２データセット２２２を生成することができる。この時、第３−２データセット２２２の名前は、上位データセットの名前と第２ＪＳＯＮオブジェクトのキーを参考にして、「ｄｓＭａｓｔｅｒ＿ｋｅｙ２」と命名できる。
【００４２】
図２ｄには、第４ＪＳＯＮデータ２３０と第４データセット２３１が示されている。一つの実施形態によれば、電子装置１００は、第４ＪＳＯＮデータ２３０に基づいて第４データセット２３１を生成するか、または第４データセット２３１に基づいて第４ＪＳＯＮデータ２３０を生成することができる。
【００４３】
例えば、電子装置１００は第４ＪＳＯＮデータ２３０から大括弧を識別することができ、それにより、第４ＪＳＯＮデータ２３０はＪＳＯＮ配列を含んでいると判断できる。電子装置１００は、ＪＳＯＮ配列に含まれたコンマ（、）からＪＳＯＮ配列に含まれたバリューの個数を識別することができる。一つの実施形態によれば、電子装置１００は、第４ＪＳＯＮデータ２３０から７個のバリューを識別することができる。
【００４４】
また、電子装置１００は識別された７個のバリューが「｛｝（中括弧）」で構成されていることを識別することができ、それにより、第４ＪＳＯＮデータ２３０に含まれた７個のバリューは７個の下位ＪＳＯＮデータ（第４−１〜第４−７ＪＳＯＮデータ）の形態に定義されていることを識別することができる。第４−１ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｒｅｄ」、「ｖａｌｕｅ」：「２０００」｝であり、第４−２ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｇｒｅｅｎ」、「ｖａｌｕｅ」：「＃０ｆ０」｝であり、第４−３ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｂｌｕｅ」、「ｖａｌｕｅ」：「＃００ｆ」｝であり、第４−４ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｃｙａｎ」、「ｖａｌｕｅ」：「＃０ｆｆ」｝であり、第４−５ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｍａｇｅｎｔａ」、「ｖａｌｕｅ」：「＃ｆ０ｆ」｝であり、第４−６ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｙｅｌｌｏｗ」、「ｖａｌｕｅ」：「＃ｆｆ０」｝であり、第４−７ＪＳＯＮデータは｛「ｃｏｌｏｒ」：「ｂｌａｃｋ」、「ｖａｌｕｅ」：「５０００」｝である。
【００４５】
一つの実施形態によれば、電子装置１００は、第４−１〜第４−７ＪＳＯＮデータの各々がキーとバリューとを含むものと判断される場合、第４データセット２３１を構成する少なくとも一つの列の名前を第４−１〜第４−７ＪＳＯＮデータの各々のキーに命名することができ、前記命名された列に前記第４−１〜第４−７ＪＳＯＮデータの各々に含まれたバリューを挿入することができる。電子装置１００は、下位ＪＳＯＮオブジェクト間の順を識別するのに用いられるｐａｒｅｎｔＩｄｘ列を第４データセット２３１の第１列に決定することができる。次に、電子装置１００は、第４データセット２３１の第１行および第２列に第４−１〜第４−７ＪＳＯＮデータの１番目のキーである「ｃｏｌｏｒ」を挿入することができ、第４データセット２３１の第１行および第３列に第４−１〜第４−７ＪＳＯＮデータの２番目のキーである「ｖａｌｕｅ」を挿入することができる。次に、電子装置１００は、第４−１〜第４−７ＪＳＯＮデータのバリューを対応するキーが挿入された列に順次挿入することができる。例えば、「ｃｏｌｏｒ」と対応するバリューである「ｒｅｄ」、「ｇｒｅｅｎ」、「ｂｌｕｅ」、「ｃｙａｎ」、「ｍａｇｅｎｔａ」、「ｙｅｌｌｏｗ」、「ｂｌａｃｋ」は、第４データセット２３１の第２列に行を変えながら順次挿入されることができる。また、「ｖａｌｕｅ」と対応するバリューである「２０００」、「＃０ｆ０」、「＃００ｆ」、「＃０ｆｆ」、「＃ｆ０ｆ」、「＃ｆｆ０」、「５０００」は、第４データセット２３１の第３列に行を変えながら順次挿入されることができる。一方、第４データセット２３１の名前は、予め設定されたものに従って「ｄｓＭａｓｔｅｒ」と命名できる。
【００４６】
図２ｅには、第５ＪＳＯＮデータ２４０、そして第５−１データセット２４１、第５−２データセット２４２および第５−３データセット２４３が示されている。一つの実施形態によれば、電子装置１００は、第５ＪＳＯＮデータ２４０に基づいて第５−１データセット２４１、第５−２データセット２４２および第５−３データセット２４３を生成するか、または第５−１データセット２４１、第５−２データセット２４２および第５−３データセット２４３に基づいて第５ＪＳＯＮデータ２４０を生成することができる。
【００４７】
例えば、電子装置１００は第５ＪＳＯＮデータ２４０から第１レベルに属する３個の「：（コロン）」と第２レベルに属する３個の「：（コロン）」を識別することができ、それにより、第５ＪＳＯＮデータ２４０に総６個のＪＳＯＮオブジェクトが含まれていると判断できる。より具体的には、電子装置１００は、第５ＪＳＯＮデータ２４０に上位レベルである第１レベルに属する３個のＪＳＯＮオブジェクトと下位レベルである第２レベルに属する３個のＪＳＯＮオブジェクトとが含まれていると判断できる。
【００４８】
一つの実施形態によれば、第１レベルに属する第１ＪＳＯＮオブジェクトは「ｋｅｙ１」：「ｔｏｂｅｓｏｆｔ」であり、第２ＪＳＯＮオブジェクトは「ｋｅｙ２」：｛「ｋｅｙ２＿０」：「ｋｅｙ２＿０＿０」、「ｋｅｙ２＿１」：「ｋｅｙ２＿１＿０」、「ｋｅｙ２＿２」：「２０００」｝であり、第３ＪＳＯＮオブジェクトは「ｋｅｙ３」：［「ｋｅｙ３＿１」、「５０００」、「ｋｅｙ３＿３」］である。また、第２レベルに属する第４ＪＳＯＮオブジェクトは「ｋｅｙ２＿０」：「ｋｅｙ２＿０＿０」であり、第５ＪＳＯＮオブジェクトは「ｋｅｙ２＿１」：「ｋｅｙ２＿１＿０」であり、第６ＪＳＯＮオブジェクトは「ｋｅｙ２＿２」：「２０００」である。これと共に、電子装置１００は、第３ＪＳＯＮオブジェクトのバリューに含まれた大括弧からＪＳＯＮ配列を識別することができる。
【００４９】
一つの実施形態によれば、電子装置１００は、図２ａで説明した方式に応じて、第１〜第３ＪＳＯＮオブジェクトを用いて第５−１データセット２４１を生成することができる。この場合、第５−１データセット２４１の名前は、予め設定されたものに従って「ｄｓＭａｓｔｅｒ」と命名できる。
【００５０】
一つの実施形態によれば、ＪＳＯＮオブジェクトのバリューが第２ＪＳＯＮオブジェクトのように第４〜第６ＪＳＯＮオブジェクトを含む下位ＪＳＯＮオブジェクトの形態に定義されている場合、電子装置１００は、第２ＪＳＯＮオブジェクトのバリューを第５−１データセット２４１の第２行および第３列に挿入せず、新しいデータセットである第５−２データセット２４２に挿入することができる。この時、第５−２データセット２４２の名前は、上位データセットの名前と第２ＪＳＯＮオブジェクトのキーを参考にして、「ｄｓＭａｓｔｅｒ＿ｋｅｙ２」と命名できる。
【００５１】
一つの実施形態によれば、ＪＳＯＮオブジェクトのバリューが第３ＪＳＯＮオブジェクトのようにＪＳＯＮ配列の形態に定義されている場合、電子装置１００は、第３ＪＳＯＮオブジェクトのバリューを第５−１データセット２４１の第２行および第４列に挿入せず、新しいデータセットである第５−３データセット２４３に挿入することができる。このようにＪＳＯＮ配列の形態に定義されたデータをデータセットに作る時には、図２ｂで説明した方式が用いられることができる。すなわち、電子装置１００は、図２ｂで説明した方式に応じて、第３ＪＳＯＮオブジェクトのバリューと対応する第５−３データセット２４３を生成することができる。この時、第５−３データセット２４３の名前は、上位データセットの名前と第３ＪＳＯＮオブジェクトのキーを参考にして、「ｄｓＭａｓｔｅｒ＿ｋｅｙ３」と命名できる。
図３は、本発明の一実施形態による電子装置においてデータセットとＪＳＯＮデータを相互変換する方法を示すフローチャートである。
ステップ３００では、電子装置において実行中のプログラムと対応するウィンドウを表示することができる。
【００５２】
ステップ３１０では、前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納することができる。この場合、前記複数の識別子は、コロン、コンマ、大括弧および中括弧のうち少なくとも一つを含むことができる。
【００５３】
ステップ３２０では、前記ウィンドウ内に第１データを挿入するのに用いられる第１入力、および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加することができる。
ステップ３３０では、前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出することができる。
【００５４】
ステップ３４０では、前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定することができる。
【００５５】
一つの実施形態によれば、電子装置１００は、少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの左側に記載された文字を識別することができる。また、電子装置１００は、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認することができる。また、電子装置１００は、前記確認された個数に基づいて前記スプレッドシートの列の個数を決定することができる。また、電子装置１００は、前記決定された列の個数に応じて前記スプレッドシートの構造を決定することができる。
【００５６】
また他の実施形態によれば、電子装置１００は、前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの右側に記載された文字を識別することができる。また、電子装置１００は、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認することができる。また、電子装置１００は、前記確認された個数に基づいて前記スプレッドシートの行の個数を決定することができる。また、電子装置１００は、前記決定された行の個数に応じて前記スプレッドシートの構造を決定することができる。
【００５７】
また他の実施形態によれば、電子装置１００は、前記少なくとも一つの識別子としてコロンが検出されず且つ一つ以上のコンマおよび１対以上の大括弧が検出される場合、前記検出された１対以上の大括弧の個数に応じて前記第１データに含まれた前記一つ以上の配列の個数を確認することができる。また、電子装置１００は、前記検出された一つ以上のコンマの個数に応じて前記一つ以上の配列に含まれた索引値の個数を確認することができる。
【００５８】
また他の実施形態によれば、電子装置１００は、前記確認された一つ以上の配列の個数に基づいて前記スプレッドシートの列の個数を決定することができ、前記決定された列の個数に応じて前記スプレッドシートの構造を決定することができる。また、電子装置１００は、前記確認された索引値の個数に基づいて前記スプレッドシートの行の個数を決定することができ、前記決定された行の個数に応じて前記スプレッドシートの構造を決定することができる。
【００５９】
ステップ３５０では、前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入することができる。
【００６０】
一つの実施形態によれば、電子装置１００は、前記少なくとも一つの識別子として一つ以上のコロンまたは前記中括弧が検出される場合、前記検出された一つ以上のコロンの個数または前記検出された中括弧の個数に応じて前記第１データに含まれた前記一つ以上のオブジェクトの個数を確認することができる。また、電子装置１００は、前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入することができる。また、電子装置１００は、前記予め指定された領域中の２番目の列に前記検出された一つ以上のコロンの左側に記載された第２文字および前記検出された一つ以上のコロンの右側に記載された文字のうち前記第２文字と対応する第３文字を行を変えながら挿入することができる。
【００６１】
また他の実施形態によれば、電子装置１００は、前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入することができる。また、電子装置１００は、前記予め指定された領域中の２番目の列に第２文字および前記一つ以上の配列に含まれた索引値を行を変えながら挿入することができる。
【００６２】
様々な実施形態によれば、図３に開示された動作のうちの一部は省略されるかまたは複数回繰り返し実行されてもよい。また、図３に開示された動作の各々は一つの実施形態に見るのが妥当であり、いずれか一つの動作が他の一つの動作に従属するものに制限して解釈してはならない。
【００６３】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置は、電子装置において実行中のプログラムと対応するウィンドウを表示するように設定された表示部、前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納する格納部、前記表示部を介して表示されている前記ウィンドウ内に第１データを挿入するのに用いられる第１入力および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加する入力部、前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出する文字識別部、前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定する構造設計部、および前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入するデータセット生成部を含むことができる。
【００６４】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記複数の識別子は、コロン、コンマ、大括弧および中括弧のうち少なくとも一つを含むことを特徴とする。
【００６５】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記構造設計部は、前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの左側に記載された文字を識別し、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認し、前記確認された個数に基づいて前記スプレッドシートの列の個数を決定し、前記決定された列の個数に応じて前記スプレッドシートの構造を決定することを特徴とする。
【００６６】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記構造設計部は、前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの右側に記載された文字を識別し、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認し、前記確認された個数に基づいて前記スプレッドシートの行の個数を決定し、前記決定された行の個数に応じて前記スプレッドシートの構造を決定することを特徴とする。
【００６７】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記データセット生成部は、前記少なくとも一つの識別子として一つ以上のコロンまたは前記中括弧が検出される場合、前記検出された一つ以上のコロンの個数または前記検出された中括弧の個数に応じて前記第１データに含まれた前記一つ以上のオブジェクトの個数を確認し、前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入し、前記予め指定された領域中の２番目の列に前記検出された一つ以上のコロンの左側に記載された第２文字および前記検出された一つ以上のコロンの右側に記載された文字のうち前記第２文字と対応する第３文字を行を変えながら挿入することを特徴とする。
【００６８】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記構造設計部は、前記少なくとも一つの識別子としてコロンが検出されず且つ一つ以上のコンマおよび１対以上の大括弧が検出される場合、前記検出された１対以上の大括弧の個数に応じて前記第１データに含まれた前記一つ以上の配列の個数を確認し、前記検出された一つ以上のコンマの個数に応じて前記一つ以上の配列に含まれた索引値の個数を確認することを特徴とする。
【００６９】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記構造設計部は、前記確認された一つ以上の配列の個数に基づいて前記スプレッドシートの列の個数を決定し、前記決定された列の個数に応じて前記スプレッドシートの構造を決定することを特徴とする。
【００７０】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記構造設計部は、前記確認された索引値の個数に基づいて前記スプレッドシートの行の個数を決定し、前記決定された行の個数に応じて前記スプレッドシートの構造を決定することを特徴とする。
【００７１】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置において、前記データセット生成部は、前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入し、前記予め指定された領域中の２番目の列に第２文字および前記一つ以上の配列に含まれた索引値を行を変えながら挿入することを特徴とする。
【００７２】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法は、電子装置において実行中のプログラムと対応するウィンドウを表示するステップ、前記プログラムを介したデータ構造の変換に用いられる複数の識別子および前記複数の識別子の各々に対応するインストラクションがマッチングされたルックアップテーブルを格納するステップ、前記ウィンドウ内に第１データを挿入するのに用いられる第１入力および前記挿入された第１データおよび前記ルックアップテーブルに基づいて第２データの生成を指示するのに用いられる第２入力を印加するステップ、前記第１入力に応じて挿入された第１データから前記複数の識別子のうち少なくとも一つの識別子を検出するステップ、前記ルックアップテーブルを用いて前記検出された少なくとも一つの識別子と対応するインストラクションを確認した後、前記第１データと対応するスプレッドシートの構造を決定するステップ、および前記構造が決定されたスプレッドシートを生成し、前記確認されたインストラクションに応じて前記第１データに含まれた一つ以上のオブジェクトおよび一つ以上の配列のうち少なくとも一つを前記生成されたスプレッドシートに挿入するステップを含むことができる。
【００７３】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記複数の識別子は、コロン、コンマ、大括弧および中括弧のうち少なくとも一つを含むことを特徴とする。
【００７４】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記スプレッドシートの構造を決定するステップは、前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの左側に記載された文字を識別するステップ、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認するステップ、前記確認された個数に基づいて前記スプレッドシートの列の個数を決定するステップ、および前記決定された列の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含むことを特徴とする。
【００７５】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記スプレッドシートの構造を決定するステップは、前記少なくとも一つの識別子として一つ以上のコロンが検出される場合、前記一つ以上のコロンの右側に記載された文字を識別するステップ、前記識別された文字のうち重複せず且つ互いに異なる文字の個数を確認するステップ、前記確認された個数に基づいて前記スプレッドシートの行の個数を決定するステップ、および前記決定された行の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含むことを特徴とする。
【００７６】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記生成されたスプレッドシートに挿入するステップは、前記少なくとも一つの識別子として一つ以上のコロンまたは前記中括弧が検出される場合、前記検出された一つ以上のコロンの個数または前記検出された中括弧の個数に応じて前記第１データに含まれた前記一つ以上のオブジェクトの個数を確認するステップ、前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入するステップ、および前記予め指定された領域中の２番目の列に前記検出された一つ以上のコロンの左側に記載された第２文字および前記検出された一つ以上のコロンの右側に記載された文字のうち前記第２文字と対応する第３文字を行を変えながら挿入するステップをさらに含むことを特徴とする。
【００７７】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記スプレッドシートの構造を決定するステップは、前記少なくとも一つの識別子としてコロンが検出されず且つ一つ以上のコンマおよび１対以上の大括弧が検出される場合、前記検出された１対以上の大括弧の個数に応じて前記第１データに含まれた前記一つ以上の配列の個数を確認するステップ、および前記検出された一つ以上のコンマの個数に応じて前記一つ以上の配列に含まれた索引値の個数を確認するステップをさらに含むことを特徴とする。
【００７８】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記スプレッドシートの構造を決定するステップは、前記確認された一つ以上の配列の個数に基づいて前記スプレッドシートの列の個数を決定するステップ、および前記決定された列の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含むことを特徴とする。
【００７９】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記スプレッドシートの構造を決定するステップは、前記確認された索引値の個数に基づいて前記スプレッドシートの行の個数を決定するステップ、および前記決定された行の個数に応じて前記スプレッドシートの構造を決定するステップをさらに含むことを特徴とする。
【００８０】
本文書に開示された様々な実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法において、前記生成されたスプレッドシートに挿入するステップは、前記生成されたスプレッドシートの予め指定された領域中の１番目の列に第１文字および前記第１文字と対応する索引値を行を変えながら挿入するステップ、および前記予め指定された領域中の２番目の列に第２文字および前記一つ以上の配列に含まれた索引値を行を変えながら挿入するステップをさらに含むことができる。
【００８１】
本発明の一つの実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法は、コンピュータとの結合によって実行させるための格納媒体に格納されたコンピュータプログラムで実現されてもよい。
【００８２】
また、本発明の一つの実施形態により、ＪＳＯＮを用いてデータセットの構造を変換する電子装置の動作方法は、様々なコンピュータ手段を介して実行できるプログラム命令形態で実現されてコンピュータ読み取り可能な媒体に記録されてもよい。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであるか、またはコンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光気録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納し実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリタなどを用いてコンピュータにより実行できる高級言語コードを含む。
【００８３】
以上のように、本発明を具体的な構成要素などのような特定事項と限定された実施形態および図面によって説明したが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明は前記実施形態に限定されるものではなく、本発明が属する分野で通常の知識を有した者であれば、このような記載から様々な修正および変形が可能である。
【００８４】
したがって、本発明の思想は説明された実施形態に限定して定められてはならず、後述する特許請求の範囲だけでなく、該特許請求の範囲と均等または等価的な変形がある全てのものは本発明思想の範疇に属する。
【図１】
2020047254.tif 000003
【図２ａ】
2020047254.tif 000004
【図２ｂ】
2020047254.tif 000005
【図２ｃ】
2020047254.tif 000006
【図２ｄ】
2020047254.tif 000007
【図２ｅ】
2020047254.tif 000008
【図３】
2020047254.tif 000009