Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jason在Elixir中将二进制编码为UUID_Elixir_Uuid_Jason - Fatal编程技术网

Jason在Elixir中将二进制编码为UUID

Jason在Elixir中将二进制编码为UUID,elixir,uuid,jason,Elixir,Uuid,Jason,我正试图想出一种干净的方法来覆盖for二进制文件,这将允许我从二进制文件中提取uuid。以下是我在理论上想做的: 定义Jason.Encoder,用于:位字符串do def encode(二进制,opts)何时为二进制(二进制)do 使用false而不是尝试全局覆盖位字符串的协议,您可以将UUID包装在自己的结构中,并为该结构实现Jason.Encoder协议: defmodule jsonuid do defstruct[:uuid] 定义Jason.do def encode(%jsonui

我正试图想出一种干净的方法来覆盖for二进制文件,这将允许我从二进制文件中提取uuid。以下是我在理论上想做的:

定义Jason.Encoder,用于:位字符串do
def encode(二进制,opts)何时为二进制(二进制)do

使用false而不是尝试全局覆盖
位字符串的协议,您可以将UUID包装在自己的结构中,并为该结构实现
Jason.Encoder
协议:

defmodule jsonuid do
defstruct[:uuid]
定义Jason.do
def encode(%jsonuid{uuid:uuid},opts)何时是二进制(uuid)do
uuid
|>外太空人!()
|>Jason.Encode.string(opts)
结束
结束
结束
测试:

Jason.encode!(%jsonuid{uuid:exto.uuid.bingenerate()})
=>“\“8cbf3df9-8408-4ce3-ac44-980a0f7dc19b”

您可以将UUID包装在自己的结构中,并为该结构实现
Jason.Encoder
协议,而不是尝试全局覆盖
位字符串的协议:

defmodule jsonuid do
defstruct[:uuid]
定义Jason.do
def encode(%jsonuid{uuid:uuid},opts)何时是二进制(uuid)do
uuid
|>外太空人!()
|>Jason.Encode.string(opts)
结束
结束
结束
测试:

Jason.encode!(%jsonuid{uuid:exto.uuid.bingenerate()})
=>“\“8cbf3df9-8408-4ce3-ac44-980a0f7dc19b”