J'utilise HTTPoison
pour obtenir le site Web du guide elixir, puis l'analyser avec Floki
pour construire un transformateur pour ordinateur portable HTML 2 Jupyter (avec Markdown pour la description). Je dois mettre dans le `backtick. \u0060
pour la mise en évidence de code, qui fonctionne jusqu'à présent. J'ai quelques endroits où j'emploie la chaîne Interpolation et dans d'autres endroits Enum.join ""
pour traiter et transformer du HTML au Markdown.Encodage json utilisant du poison avec unicode
Le résultat transformé est stocké dans une carte en fonction du format cahier jupyter. Quand j'appelle Poison.encode notebook
, j'obtiens une erreur, car les points de code ont disparu. J'ai essayé différentes choses, mais je ne sais pas encore, où est le problème.
Des allusions à ce que je fais mal lors du traitement du texte? Ceci est l'exception:
** (Poison.EncodeError) unable to encode value: {:source, ["Elixir also provides `Port`, `Reference` and `PID` as data types (usually used in process communication), and we will take a quick look at them when talking about processes. For now, let’s take a look at some of the basic operators that go with our basic types."]}
lib/poison/encoder.ex:377: Poison.Encoder.Any.encode/2
lib/poison/encoder.ex:255: anonymous fn/3 in Poison.Encoder.List.encode/3
lib/poison/encoder.ex:256: Poison.Encoder.List."-encode/3-lists^foldr/2-1-"/3
lib/poison/encoder.ex:256: Poison.Encoder.List.encode/3
lib/poison.ex:41: Poison.encode!/2
(guide2nb) lib/cli.ex:27: CLI.process/1
(elixir) lib/kernel/cli.ex:76: anonymous fn/3 in Kernel.CLI.exec_fun/2
La valeur que vous essayez de coder ne ressemble pas à une carte, mais à un tuple. Collez votre valeur d'origine ici (et/ou le code qui essaie de l'encoder) – Sheharyar
Poison n'encode pas les tuples. –