读取 JSON 文档并在 Rails 中创建一个新文档

发布于 2024-11-06 21:48:58 字数 211 浏览 1 评论 0原文

如何读取 JSON 文档中的所有内容并使用新名称创建另一个文档?

我找不到可以帮助我以简单的方式创建新 JSON 文件的东西。

编辑:

我正在从 MongoDB 数据库检索大量 JSON 格式的数据(作为数组 [{"xxx": "zz"}, ... ])。我需要的是循环遍历每个文档、每个字段,并使用这些字段创建一个新的 JSON 文档。

谢谢

How can I read everything inside a JSON document and create another one with new names?

I can't find something that will help me create a new JSON file in an easy way.

Edit:

I am retrieving a ton of data in JSON format from a MongoDB database (as an array [{"xxx": "zz"}, ... ]). What I need is to cycle trough each document, each field and create a new JSON document using those fields.

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想挽留 2024-11-13 21:48:58

这是您想要的要点:

@keys = {
  "old" => "new",
  "foo" => "bar"
}

def rename_key(pair)
  old_key = pair.keys.first
  { @keys[old_key] => pair[old_key] }
end

pairs = ActiveSupport::JSON.decode(json)
pairs.map! { |pair| rename_key(pair) }
new_json = pairs.to_json

显然,您希望将其变成一两个类。请注意,我假设来自 Mongo 的所有数据都采用简单 key => 的形式。值对,根据您的描述。

Here's the gist of what you want:

@keys = {
  "old" => "new",
  "foo" => "bar"
}

def rename_key(pair)
  old_key = pair.keys.first
  { @keys[old_key] => pair[old_key] }
end

pairs = ActiveSupport::JSON.decode(json)
pairs.map! { |pair| rename_key(pair) }
new_json = pairs.to_json

Obviously, you'd want to turn this into a class or two. Note that I made the assumption that all data from Mongo was in the form of simple key => value pairs, based on your description.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文