在 Erlang 中解析 JSON

2024-01-01

我有一段 JSON 字符串,我想在 Erlang 中解析它。看起来像:

({ id1 : ["str1", "str2", "str3"], id2 : ["str4", "str5"]})

我查看了 mochijson2 和其他几个 JSON 解析器,但我真的不知道该怎么做。非常感谢任何帮助!


我曾经使用过erlang-json-eep-解析器 http://github.com/jchris/erlang-json-eep-parser/tree/master,并在您的数据上进行了尝试。

7> json_eep:json_to_term("({ id1 : [\"str1\", \"str2\", \"str3\"], id2 : [\"str4\", \"str5\"]})").
** exception error: no match of right hand side value 
                    {error,{1,json_lex2,{illegal,"("}},1}
     in function  json_eep:json_to_term/1

是的,它不喜欢括号。

8> json_eep:json_to_term("{ id1 : [\"str1\", \"str2\", \"str3\"], id2 : [\"str4\", \"str5\"]}").
** exception error: no match of right hand side value 
                    {error,{1,json_lex2,{illegal,"i"}},1}
     in function  json_eep:json_to_term/1

它不喜欢不带引号的键:

18> json_eep:json_to_term("{ \"id1\" : [\"str1\", \"str2\", \"str3\"], \"id2\" : [\"str4\", \"str5\"]}").
{[{<<"id1">>,[<<"str1">>,<<"str2">>,<<"str3">>]},
  {<<"id2">>,[<<"str4">>,<<"str5">>]}]}

看起来好多了。

所以看来你的数据是almostJSON,至少就这个解析器而言是这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Erlang 中解析 JSON 的相关文章

随机推荐

  • 构建 GDAL 时链接器错误

    我正在使用 MSVC 2015 64 位命令提示符从源代码构建 GDAL 我使用的是 Windows 8 在构建过程中 我收到以下错误 Creating library gdal i lib and object gdal i exp od
  • 如何让 Swagger UI 与 Swashbuckle 一起使用端口 443?

    在运行 RESTful Web 服务的 QA 和 Prod 环境中 端口 80 未开放 因此 目前当我尝试在 QA 中访问 Swagger UI 时 我收到此消息 但它只是挂起 fetching resource list http qa
  • JSon.NET 反序列化子项

    对于反序列化 我通常使用与 JSon 和中找到的属性名称相同的对象JsonConvert DeserializeObject
  • AngularJS工厂http返回空

    我是第一次尝试 AngularJS 我正在使用工厂从 http get 请求获取 JSON 数据 但在 ajax 请求完成之前 该对象返回为空 Factory myDemo factory photosFactory function ht
  • AWS API网关代理响应失败/丢弃

    Problem 使用 Postman 时 AWS API Gateway 代理不会传回我的后端服务的响应 但适用于curl 描述 我有一个想要通过 AWS API 网关公开的后端服务 在这种情况下 网关的使用纯粹是作为 HTTP 代理 所以
  • 是否可以在 gridview 的单元格中滚动?

    我的网格视图中有一些记录 但每条记录都存在一个问题 有一个单元格包含大量数据 我仍然想显示数据并允许用户向下滚动阅读 如果他们感兴趣 是否有可能允许在该单元格中滚动 EDIT 这是我参考的css AspNet GridView overfl
  • 为什么 -drawRect 比使用 CALayers/UIViews 用于 UITableViews 更快?

    我已经能听到一千名 iOS 开发者内心的痛苦 不 我不是菜鸟 为什么 UITableView 的 drawRect 性能比多个视图更快 据我所知 合成操作是在 GPU 上进行的 但合成是一种一次性操作 一旦这些层被提交到内存中 它就与缓存缓
  • 在 ASP.Net Ajax Async-Postback without JQuery 之后滚动到页面顶部

    我需要在更新面板中的异步回发后滚动到页面顶部 我尝试了几种方法 虽然它们都滚动到页面顶部 但它们都被 ASP Net Ajax 覆盖 从而将页面返回到发生回发时的位置 我已经在页面指令中设置MaintainScrollPositionOnP
  • 重用Android锁定模式

    我正在编写一个应用程序 应该用密码保护它 是否可以从具有不同图案的应用程序中使用 Android 的图案锁屏 而不是构建一个新的锁屏 首先 您必须通过手动设置来设置图案锁定 然后您可以使用下面的代码接收事件 import android a
  • 在 NodeJS 中创建可以处理多个安全域的反向代理

    我正在尝试在 NodeJS 中创建反向代理 但我一直遇到这样的问题 即使我想为多个域提供服务 我也只能在同一端口 443 上提供一组证书 密钥对 我已经完成了研究并不断遇到同样的障碍 可以从非安全本地源 http 本地访问和服务 https
  • 点加速最快路径

    这只是我自己想出的东西 但这似乎是一个有趣的问题 它让我难住了 您在二维空间中有一组点 其中一个点指定为 起点 一个点指定为 终点 每个点都有坐标 以米为单位距原点 但也有一个 加速度数 以米 秒的 delta V 为单位 到达某个点 包括
  • 如何在不使用 ZipArchive 的情况下在 Windows 8 Metro 中解压缩 ZIP 文件 (zlib.net)

    我有一个用 C 编写的 Windows 8 Metro 应用程序 我需要打开一个 ZIP 文件并读取其中包含的 XML 文件 我使用了 ZipArchive 类 但它在当前版本中出现了错误 并且不再起作用 还有别的办法吗 我尝试用谷歌搜索其
  • 在“堆栈”>“不透明度”>“可滚动”下换行时出现颤动键盘问题

    在 flutter 应用程序中 当输入字段包含在 Scrollable Opacity Stack 中时 当键盘出现时 可滚动视图未正确放置 当键盘出现时如何正确地使可滚动视图 如果输入字段没有包含在 Scrollable 中 则键盘根本不
  • Docker Toolbox/Mac 安装后设置 DOCKER_HOST

    麦克在这里 我通过安装 Docker工具箱 https www docker com toolbox所有 Docker 命令都会产生相同的错误 myuser mymachine tmp docker info Get http var ru
  • Android 上使用外部 Jar 时出现 java.lang.NoSuchMethodError sun.misc.Unsafe

    我正在尝试在 Android 上使用 Java 库 jar 它使用sun misc Unsafe 对库的调用会抛出 java lang NoSuchMethodError No virtual method ensureClassIniti
  • 将文件从一个 Node js 服务器发送到另一台

    所以在第一台服务器上我有这样的路线 const express require express const router express Router const FormData require form data const fetch
  • Node.js 异步系列函数的参数

    我需要执行如下代码 function taskFirst k v console log k v function taskSecond k v console log k v function run var g1 Something v
  • PDB不会在断点处停止

    我对直接使用 pdb 进行调试还很陌生 并且在调试 Django 应用程序时遇到了一些问题 这是我正在做的事情 python m pdb manage py runserver pdb b core views py 22 Breakpoi
  • 如何在reactJS中自定义reactstrap下拉菜单

    使用 ReactJS 创建示例应用程序并为 boostrap 安装 Reactstrap 我在工作正常的应用程序中使用下拉组件 代码是
  • 在 Erlang 中解析 JSON

    我有一段 JSON 字符串 我想在 Erlang 中解析它 看起来像 id1 str1 str2 str3 id2 str4 str5 我查看了 mochijson2 和其他几个 JSON 解析器 但我真的不知道该怎么做 非常感谢任何帮助