Erlang:元组列表转换为 JSON

2024-02-22

我有一个元组列表,它们是 http 标头。我想将列表转换为 JSON 对象。我尝试 mochijson2 但无济于事。

所以我有以下内容:

[{'Accept',"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},
 {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"},
 {'Accept-Encoding',"gzip,deflate"},
 {'Accept-Language',"en-us,en;q=0.5"},
 {'Cache-Control',"max-age=0"},
 {'Connection',"close"},
 {'Cookie',"uid=CsDbk0y1bKEzLAOzAwZUAg=="},
 {'User-Agent',"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"}]

并且想要这个(二进制 JSON 字符串):

<<"{\"Accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",
 \"Accept-Charset\":\"ISO-8859-1,utf-8;q=0.7,*;q=0.7\",
 \"Accept-Encoding\":\"gzip,deflate\",
 \"Accept-Language\":\"en-us,en;q=0.5\",
 \"Cache-Control\":\"max-age=0\",
 \"Connection\":\"close\",
 \"Cookie\":\"uid=CsDbk0y1bKEzLAOzAwZUAg==\",
 \"User-Agent\":\"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10\"}">>

我尝试这样做,其中 A 是元组的原始列表:

list_to_binary(mochijson2:encode(A)).

我怀疑我需要将其转换为 mochijson2 可以更好解释的格式。然后转换成二进制。或者找出一种方法将所有字符表示为字符串(而不是将某些字符表示为整数列表)。

如果您能用一些示例代码为我指明正确的方向,我将不胜感激。


您需要将其中的字符串转换为二进制before您将其发送到编码器。 mochijson2 编码器只是将其视为整数列表并将其输出为数组。所以mochijson2需要你转换{'key', "val"} into {'key', <<"val">>}

在您的代码中尝试一下:

Original = [
  {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"}, 
  {'Accept-Encoding',"gzip,deflate"}
].
StingConverted = [ {X,list_to_binary(Y)} || {X,Y} <- Original ].
Output = mochijson2:encode(StingConverted).
io:format("This is correct: ~s~n", [Output]).

或者,如果您更喜欢使用 Funs:

Original = [
  {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"}, 
  {'Accept-Encoding',"gzip,deflate"}
].
ConvertFun = fun({X,Y}) -> {X,list_to_binary(Y)} end.
StingConverted = lists:map(ConvertFun, Original).
Output = mochijson2:encode(StingConverted).
io:format("This is correct: ~s~n", [Output]).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Erlang:元组列表转换为 JSON 的相关文章

  • 返回视图作为 JSON 对象的一部分

    我有一个应用程序只加载一次完整视图 我这样做的原因并不重要 重要的是 其余内容只会以部分视图的形式返回 除了一些内容之外 我还有一些 JSON 对象 我想通过每个 AJAX 请求在服务器之间来回传递 有没有办法返回一个 JSON 对象 并将
  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • 如何将对象从 rake 任务传递给 Rabl 视图

    我正在尝试使用 rabl 从 rake 任务创建 json 文件 下面我有一个简化版本来测试 当我通过 url 查看 articles json 或 articles 2 json 时 我得到了预期的 json 响应 但是当我尝试通过 ra
  • 检索 Steam 市场上物品的价格历史记录

    关于 Steam 市场上的物品 我想知道是否有办法检索某物品在一段时间内的价格历史记录 我知道 Steam 为想要将市场特定数据集成到自己网站中的开发人员提供了一个特殊的 api 但我还没有找到任何有关以 json 形式检索商品价格历史记录
  • 将 JSON 发送到 Spring MVC 控制器

    我正在尝试将 JSON 发送到 Spring MVC 控制器 在 Spring MVC 方面 一切都配置正确 下面是代码 但似乎没有运行
  • 在 Node.js 中创建 JSON 数组

    我需要在用 Node js 编写的服务器中创建一个 JSON 字符串 以便在请求时发送到客户端 问题是这个 JSON 取决于服务器中的可用数据 因此 JSON 数组的大小并不总是相同 我已经尝试了一整天 但尽管我感觉很接近 但我仍然不明白
  • 使用 Jackson 删除 JSON 元素

    我有一个特定的 JSON 节点 对应于 import org codehaus jackson JsonNode 而不是 导入 org codehaus jackson map JsonNode givenName Jim formatte
  • 将 Java pojo 转换为 json 字符串

    我有以下java类 public class TabularDescriptor extends ReportDescriptor private String generatorClass private String targetCla
  • 反序列化动态 JSON 文件 C# NewtonSoft.JSON

    正在反序列化一个动态 JSON 文件 该文件可能包含 2 个单独的类 我不知道数组中将包含哪种类型的数据 问题是 我将根对象反序列化为 Base 类型 subtests 对象被反序列化为 Subtest 但 subtests 数组可能是 B
  • Elasticsearch GET API 获取分片大小

    在 Elasticsearch 2 3 3 中 有没有办法使用返回 JSON 的 GET API 获取分片大小 目前我找到了以下几种获取shard size的方法 这两种方法都存在问题 recovery gt 使用 JSON 进行响应并提供
  • PHP:file_get_contents 与 json_decode 不能一起工作

    使用 file get contents 读取 json 文件后遇到问题 当我运行这段代码时 它工作正常
  • 在 postgresql 9.4 或 9.5 中查询 json 对象的嵌套数组中的元素

    studentID 1 StudentName jhon Data schoolname school1 enrolmentInfo year 2015 info courseID csc213 school IT enrollmentda
  • Node.js - 异步 JSON 查询

    如果这是一个愚蠢的问题 我深表歉意 但我对 Javascript 很陌生 而 Node js 确实让我很头疼 因为它是异步的 我的目标是从 API 查询 JSON 对象并能够使用它 我试图寻找关于我应该做什么的问题和答案 但它们对我来说都没
  • 循环遍历 JSON 数组

    我最近发布了另一个问题 用户立即为我指明了正确的方向 ajax type POST url data token token re 8 cache false timeout 5000 success function html auth
  • 如何使用 jq 和 Bash 将 JSON 展平为 Key=Selector 的 Bash 关联数组?

    作为后续展平任意 JSON https stackoverflow com questions 42299905 using jq flatten arbitrary json to delimiter separated flat dic
  • json_decode 到自定义类

    是否可以将 json 字符串解码为 stdClass 以外的对象 不是自动的 但你可以按照老式的路线来做 data json decode json true class new Whatever foreach data as key g
  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 解析 JWT 令牌以仅获取有效负载内容,无需 C# 或 Blazor 中的外部库

    我正在使用 Blazor 编写可以访问 JWT 的客户端应用程序 我想知道一种简单的方法来读取令牌有效负载内容而不添加额外的依赖项 因为我不需要其他信息 也不需要验证令牌 我认为解析有效负载内容应该足够简单 只需将其写入方法即可 JwtTo
  • 在 Go 中解析多个 JSON 对象

    可以使用以下方法轻松解析如下对象encoding json包裹 something foo something else bar 我面临的问题是当服务器返回多个字典时 如下所示 something foo something else ba
  • eventSources 到事件 Json,完整日历

    我正在尝试从 eventSources 获取 json 调用到我的事件 我在 eventSources 中返回的 json 是 title Title Test start 1305841052 当我将此字符串传递到事件中时 它会正确显示日

随机推荐

  • 通过 Ansible playbook 检查 Java 版本

    以下是我的剧本 hosts UAT gather facts false remote user xxxx become method sudo become yes become user sudo user tasks name Fet
  • Android Studio 0.2.9 无法创建新项目

    更新到最新的 0 2 9 版本后 我无法在 Android Studio 中创建新项目 我正在使用 OSX 并收到以下错误消息 3 字节 UTF 8 序列的字节 2 无效 检查日志后 我看到以下内容 2013 09 17 13 38 29
  • 门控签入始终将工作项与构建相关联

    我正在使用带有门控签入的 TFS2010 即使我已将 关联更改集和工作项 设置为 false 变更集和工作项仍与此构建相关联 这种情况仅发生在门控构建上 如果我使用其他签入触发器 手动 连续 计划 运行构建 则变更集和工作项不会与构建关联
  • Spring环境下,我在新项目中还应该使用Hystrix吗?

    看来Hystrix https github com Netflix Hystrix已接近生命周期结束 Netflix 堆栈现在已被弃用 我们正在为一个全新的项目构建一个堆栈 我们需要一个断路器 我们的默认选择是 Hystrix 因为它众所
  • 我的设备没有收到其他通知 (FCM)

    我迁移到 Firebase Cloud Messaging 当第一次尝试发送消息时 我使用 Firebase 中的控制台收到了一条通知 然后在几分钟后尝试发送另一个通知 但我不再收到另一个通知 但在我的 Firebase 控制台中 它说它是
  • PowerShell 如何在解析的 JSON 上添加一些内容?

    我想使用 PowerShell 在解析的 JSON 中添加一些内容 我的代码 function ConvertFromJson string file System Reflection Assembly LoadWithPartialNa
  • 通过调用计算taxAmount的方法只能得到$0

    我在执行以下调用时遇到问题 特别是最后一个组件 Console WriteLine Taxpayer 0 SSN 1 Income is 2 c Tax is 3 c i 1 taxArray i SSN taxArray i grossI
  • 如何传递 shell 命令的实时 stdout 行以在 Rust 中运行?

    我想逐行获取命令行的实时输出 并将该行传递给另一个函数以进行进一步处理 我有以下代码用于读取输出 fn output x str gt Result lt Error gt let stdout Command new strace arg
  • 使用TDB2和OWL Reasoner配置fuseki

    这里是 fusioni jena 的新手 我设法让 fusioni 使用 tdb1 与 OWLFBRuleReasoner 一起运行没有问题 但无法使其与 tdb2 一起工作 http jena apache org 2016 tdb ht
  • Angular 5 中的页眉和页脚

    我正在用 Angular 5 创建我的网站 我的网站中有主页 商店和类别页面 最初 我决定在整个网站上保持页眉和页脚全局 我的意思是创建页眉和页脚组件并将它们用作指令
  • trigger.io Android 应用程序启动图像首选项问题

    刚刚完成了我的 trigger io 应用程序的第一个版本 并在 android 和 ios 平台上成功进行了测试 trigger io v1 4 forge 工具 v3 3 11 然而 我有一个小故障 我无法更改 Android 默认的
  • Java:catch 块可以是多态的吗?

    在我要复习的一篇论文中 我被问到 catch 块可以是多态的吗 如果属实 那么对我来说调用多个就没有意义catch块多态性 是否是多态性如果catch块无法命名并且仅在其方法头中包含参数 例如 try catch FileNotFoundE
  • Heroku 指南针 buildpack 指南针失败

    我正在尝试将指南针构建包推送到heroku服务器 https github com stephanmelzer heroku buildpack nodejs grunt compass https github com stephanme
  • 如何删除 json_encode() 函数上的反斜杠?

    如何去除 字符串上的反斜杠 使用时echo json encode 例如 注意 当你 echo str 时 不会有问题 但是当你 echo out 使用json encode the 反斜杠将会出现 有办法解决这个问题吗 json enco
  • 在 MongoLab 上运行的 MongoDB 中的日期语法是什么?

    对象 ID 不是 ObjectId 82he921he982he82 而是 id oid 82he921he982he82 但我不知道如何在 MongoLab 上的文档中创建日期值 s 如果您使用其中一个驱动程序 则可以通过该语言的 Dat
  • 如何在 iOS 中引用刚刚拍摄的照片?

    我正在编写一个应用程序 允许用户拍照然后在图像视图中显示它 我知道我需要编写一行类似于以下内容的代码 imageView image picker image 但我不确定我需要用什么来代替picker image 这就是我目前所拥有的 它给
  • 我们可以强制函数在c++中内联吗

    一般来说 inline关键字只是对编译器的一个请求 编译器会根据函数的实现来决定是否进行内联扩展 但是有什么方法可以强制函数内联吗 我们该怎么做呢 这完全依赖于编译器 一些编译器提供了执行您想要的操作的方法 For gcc看一眼this h
  • UnitTesting Android TabActivity 时出现 Nullpointer 异常

    我目前正在对示例 TabLayout 进行单元测试安卓网站 http developer android com resources tutorials views hello tabwidget html 我在进行单元测试时遇到 Null
  • Angular Material Snackbar 更改颜色

    我正在使用 Angular 7 和 Material Snackbar 我想将 Snackbar 的颜色更改为绿色 在 app component ts 中 我有 this snackBarRef this snackBar open re
  • Erlang:元组列表转换为 JSON

    我有一个元组列表 它们是 http 标头 我想将列表转换为 JSON 对象 我尝试 mochijson2 但无济于事 所以我有以下内容 Accept text html application xhtml xml application x