Просмотр исходного кода

JSONエンコード用のモジュールを追加(実装は空)

Takeru Ohta 11 лет назад
Родитель
Сommit
149bd4bcba
3 измененных файлов с 49 добавлено и 3 удалено
  1. 8 2
      src/jsone.erl
  2. 1 1
      src/jsone_decode.erl
  3. 40 0
      src/jsone_encode.erl

+ 8 - 2
src/jsone.erl

@@ -30,7 +30,8 @@
 %% Exported API
 %%--------------------------------------------------------------------------------
 -export([
-         decode/1
+         decode/1,
+         encode/1
         ]).
 
 -export_type([
@@ -57,9 +58,14 @@
 %%--------------------------------------------------------------------------------
 %% Exported Functions
 %%--------------------------------------------------------------------------------
-%% @doc JSONテキストをデコードする.
+%% @doc JSONバイナリをデコードする.
 %%
 %% デコードに失敗した場合は`{invalid_json, 失敗位置より後のJSON::binary()}'形式のエラーが送出される.
 -spec decode(binary()) -> {json_value(), RestJson::binary()}.
 decode(Json) ->
     jsone_decode:decode(Json).
+
+%% @doc JSON値をバイナリ形式にエンコードする.
+-spec encode(json_value()) -> iodata().
+encode(JsonValue) ->
+    jsone_encode:encode(JsonValue).

+ 1 - 1
src/jsone_decode.erl

@@ -52,7 +52,7 @@
 %%--------------------------------------------------------------------------------
 %% Exported Functions
 %%--------------------------------------------------------------------------------
-%% @doc JSONテキストをデコードする.
+%% @doc JSONバイナリをデコードする.
 %%
 %% デコードに失敗した場合は`{invalid_json, 失敗位置より後のJSON::binary()}'形式のエラーが送出される.
 -spec decode(binary()) -> {jsone:json_value(), RestJson::binary()}.

+ 40 - 0
src/jsone_encode.erl

@@ -0,0 +1,40 @@
+%%% @doc JSON encoding module
+%%% @private
+%%% @end
+%%%
+%%% Copyright (c) 2013, Takeru Ohta <phjgt308@gmail.com>
+%%%
+%%% The MIT License
+%%%
+%%% Permission is hereby granted, free of charge, to any person obtaining a copy
+%%% of this software and associated documentation files (the "Software"), to deal
+%%% in the Software without restriction, including without limitation the rights
+%%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+%%% copies of the Software, and to permit persons to whom the Software is
+%%% furnished to do so, subject to the following conditions:
+%%%
+%%% The above copyright notice and this permission notice shall be included in
+%%% all copies or substantial portions of the Software.
+%%%
+%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+%%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+%%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+%%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+%%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+%%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+%%% THE SOFTWARE.
+%%%
+%%%---------------------------------------------------------------------------------------
+-module(jsone_encode).
+
+%%--------------------------------------------------------------------------------
+%% Exported API
+%%--------------------------------------------------------------------------------
+-export([encode/1]).
+
+%%--------------------------------------------------------------------------------
+%% Exported Functions
+%%--------------------------------------------------------------------------------
+-spec encode(jsone:json_value()) -> iodata().
+encode(_JsonValue) ->
+    [].