JSON 通用导入格式是什么?

我尝试仅通过 API 导入数据,但看起来推荐使用导入器。我的数据实际上来自一个我已转换为 JSON 的 ListServ RSS 源。

通过搜索相关议题,我发现我需要的数据格式如下:

    "topics": [
      {
        "id": 1,
        "title": "The title",
        "pinned": false,
        "posts": [
          {
            "id": 2,
            "body": "The body",
            "date": "The date",
            "author": "username"
          }
        ]
      }
    ]
  }

第一个问题:这是 json_generic 的正确格式吗?
第二个问题:关于如何使用它,还有更多信息吗?

如果你能访问 mbox 文件,那会容易得多。

通用导入脚本正是如此,你需要查看代码以了解它期望的格式,然后调整代码或你的数据以使其匹配。

关键部分在这里:

我认为我无法访问 mbox 文件。我是一名订阅者,只拥有该群组中的少量邮件。我已经尝试过这个途径。系统位于不同的分支中,而我正试图向我们的组织展示 Discourse。

您能否确认我的 JSON 结构(除缺少某些字段外)是否正确?

乍一看,你似乎方向正确。不过,你当然需要确保字段名称正确,并且必须导入用户数据,功能才能正常运行。

我已经通过 API 导入了用户。看来这次运气不错。内容无法通过验证,而且看样子我无法禁用验证,以便直接将 JSON 文件上传到本地的 Discourse。

我猜每篇帖子都需要去 Discourse 获取 userId。这样理解对吗?还是有其他更好的方法?

建议从头开始,让脚本创建用户。它需要在用户自定义字段中提供导入 ID,以便执行用户查找。

既然我需要重新创建用户,这样做可行吗?在这个例子中,用户 1(John Doe)创建了主题 1 “The Title”,该主题包含 1 篇由 John Doe 发布的帖子,内容为 Body?

如果这是正确的,我该如何使用 json_generic 脚本来启动这个过程?我对下一步操作有些困惑。

  "topics": [
      {
        "id": 1,
        "user_id": "1",
        "title": "The title",
        "pinned": false,
        "posts": [
          {
            "id": 2,
            "user_id": "1",
            "body": "The body",
            "date": "The date",
            "author": "username"
          }
        ]
      }
    ],
  "users": [
       {
    "id": "1",      
    "name": "John Doe",
    "email": "John_Doe@wahoo.com",
    "password": "asfd9!t",
    "username": "John Doe",
    "active": true,
    "approved": true
  },  

]
  }