Skip to content

Instantly share code, notes, and snippets.

@lpgauth
Created June 1, 2011 17:50
Show Gist options
  • Save lpgauth/1002862 to your computer and use it in GitHub Desktop.
Save lpgauth/1002862 to your computer and use it in GitHub Desktop.
-module(test).
-export([json/0]).
json() ->
Id = <<"abc123">>,
Name = undefined,
User = [],
User2 = [{<<"id">>, Id} | User],
User3 = [{<<"name">>, Name} | User2],
Struct = {struct, [{<<"user">>, {struct, lists:reverse(User3)}}]},
iolist_to_binary(mochijson2:encode(Struct)).
@lpgauth
Copy link
Author

lpgauth commented Jun 1, 2011

<<"{"user":{"id":"abc123","name":"undefined"}}">>

@ferd
Copy link

ferd commented Jun 1, 2011

json() ->
    Id = <<"abc123">>,
    Name = undefined,
    User = [],
    User3 = filter({<<"name">>, Name}, User2 = filter({<<"id">>, Id}, User)),
    Struct = {struct, [{<<"user">>, {struct, lists:reverse(User3)}}]},
    iolist_to_binary(mochijson2:encode(Struct)).

 filter({Tag, undefined}, Old) -> Old;
 filter({Tag, Val}, Old) -> [Tag, Val | Old].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment