将 JSON 数据存储在 MySQL 表中

2024-03-27

我在使用 NodeJS 在 MySQL 表中存储 JSON 数据时遇到问题。

JSON 数据如下所示:

{
    "header":
    {
        "file1":0,
        "file2":1,
        "subfiles":{
          "subfile1":"true",
          "subfile2":"true",
        }
    },

    "response":
    {
        "number":678,
        "start":0,
        "docs":[
            {
                "id":"d3f3d",
                "code":"l876s",
                "country_name":"United States",
                "city":"LA"
            },
            {
                "id":"d2f2d",
                "code":"2343g",
                "country_name":"UK",
                "city":"London"
            }
        ]
    }
}

我只想将字段存储在文档数组(或响应对象)中。 我正在尝试以这种方式获取数据并存储在 mysql 中:

var express = require('express');
var mysql = require('mysql');
var request = require("request");

var app = express();

app.use('/', express.static('../client/app'));
app.use('/bower_components', express.static('../client/bower_components/'));

var server = require('http').createServer(app);

var bodyParser = require('body-parser');
app.jsonParser = bodyParser.json();
app.urlencodedParser = bodyParser.urlencoded({ extended: true });

//mysql connection setup
var connection = mysql.createConnection({
    host : "localhost",
    port: "3306",
    user : "root",
    password : "root",
    database : "db",
    multipleStatements: true
});

request('http://url.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    //console.log(body) //
  }

    var data = body.toString();

    console.log(string);
    var query = connection.query('INSERT INTO table SET ?', data, function(err, result) {
         // Finish
    });
    console.log(query.sql);
});          

server.listen(3000, function () {
    'use strict';
});

在日志中我得到了

INSERT INTO table SET '{\n  \"header\":{\n    \"file1\":0,\n    \"file2\":1,\n    \"subfiles\":{\n      \"subfile1\":\"true\",\n     \"subfile2\":\"true\"}},\n  \"response\":{\"number\":678,\"start\":0,\"docs\":[\n      {\n        \"id\":\"d3f3d\",\n        \"code\":\"l876s\",\n.... 

输出消息,但我的 MySQL 表中没有数据。 我需要指定查询中的每一列吗?


at your //Finish评论你应该添加一些console.log(err)查看为什么没有插入数据。

这里是解决方案:

var data = JSON.parse(body);
var responseJson = JSON.stringify(data.response);

var query = connection.query('INSERT INTO table SET column=?', [responseJson], function(err, result) {
     if(err) throw err;
     console.log('data inserted');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 JSON 数据存储在 MySQL 表中 的相关文章

  • VSCode Live Server 和 Node Live Server 的区别

    我正在开始使用 JS 所以我已经到了必须使用 npm 安装实时服务器的地步 VSCode 有一个很多人都知道的流行扩展 称为 Live Server Ritwick Dey 我的问题是使用该扩展和使用 Node 安装包有什么区别 是否有任何
  • IIS 上托管的 WCF 服务无法运行

    我想构建一个公开 basicHTTP 端点和 webHTTP 端点的服务 如果我在运行模式下使用 VS2010 测试以下项目 一切都很好 但我想在 IIS 中托管服务 本地或远程 并通过测试 服务 svc 我将我的网站托管到本地 IIS 中
  • 使用 Typescript 实现 Express 控制器类

    我正在用打字稿做一个快速应用程序 路由器代码是 let user new User router get user test 用户类别是 export class User test req res next this undefined
  • 设置ejs在express中查看文件夹的查找路径

    I have app js in Express 服务器文件夹 aap js 的完整位置是I WEB Development Node Express server 我做了views该位置的文件夹I WEB Development Node
  • 在哪里可以访问 Gdx.files.local()?

    我有一个预制的 json 文件 我想测试一下 这个 Json 文件将被修改 所以我想读 写 我注意到内部是只读的 所以我想将我的 Json 文件保存在本地存储中 通过 eclipse 或操作系统 windows 8 手动 以便我可以通过 f
  • 如何在数据库中保存未来(!)日期

    这个问题专门涉及未来的日期和时间 对于过去的值 UTC 无疑是首选 我想知道是否有人对拯救生命的 最佳 方法有建议futureMySQL 数据库中的日期和时间 或者就此而言一般来说 特别是在该列可以保存不同时区时间的情况下 考虑到时区规则可
  • 使用 json.js 字符串化多维数组时出现问题

    我有以下问题 stringify 但我认为我的 JavaScript 数组一定是错误的 这是我的代码 var questions new Array Valid hover function for i 0 i lt Questions l
  • 将JSON数据解析到Android ListView中

    我已经潜伏这个网站很长一段时间了 幸运的是 到目前为止我所有的问题都得到了解答 我希望你们中的一些人能够阐明我的问题 我可以成功地让 ListView 来显示字符串数组 但是当我尝试将 JSON 数据解析为数组时 我的程序只是强制关闭 而
  • 在 MySQL 中创建布尔列并将 false 作为默认值?

    我想在 MySQL 中创建一个表boolean默认值为的列false 但它默认接受 NULL 你必须指定0 意思是假 或1 意思是 true 作为默认值 这是一个例子 create table mytable mybool boolean
  • MySql 从另一个表中减去一个表

    我有两个表 A 包含所有数据 表 B 从 A 中随机选择 25 的数据创建 所以 A 和 B 具有完全相同的列 也没有独特的列 我想做的是从 A 中减去 B 有什么想法吗 查看所有行A除了那些在B SELECT FROM A WHERE f
  • 早于 0.4.12 的 Node.js 无法在 AWS EC2 上正常工作。为什么?

    我无法在 AWS EC2 Ubuntu 或 CentOs 没关系 上安装 node js v0 6 1 安装后我输入node 处理器负载达到100 但 v0 4 12 工作正常 可能只有我有这个问题 那不好意思了 请告诉我我做错了什么 提前
  • 为什么 Node js 无法识别 ejs 的结束括号

    我正在使用express和ejs在node js中创建一个图片库 以下是我的 app js 的代码 var express require express var app express app set view engine ejs ap
  • Android 解析 JSON 卡在 get 任务上

    我正在尝试解析一些 JSON 数据 我的代码工作了一段时间 我不确定我改变了什么突然破坏了代码 当我运行代码时 我没有收到任何运行时错误或警告 我创建一个新的 AsyncTask 并执行它 当我打电话时 get 在这个新任务中 调试器在此行
  • Mongoose 总是返回空数组? [复制]

    这个问题在这里已经有答案了 我是nodejs i的新手 我已经有一个名为aqi的数据库 集合名称为pln 我试图在网页上显示集合中的所有记录 但猫鼬总是返回空数组 我已经用其他数据库测试了它 但我可以从它们获取数据 但对于 pln mong
  • 调用 `app.close()` 时,Nest 找不到 Sequelize 元素

    我们有一个运行 Nest 8 0 8 的 Web 服务器 使用给定的模块设置 Module imports ConfigModule forRoot isGlobal true cache true validate load config
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • MySQL 和 MariaDB 数据库有什么区别?

    我已经使用 XAMPP 很长时间了 很惊讶 XAMPP 已经从 MySQL 切换到了 MariaDB https www apachefriends org index html https www apachefriends org in
  • 安装后步骤未成功完成 MySQL Mac OS Sierra

    pyEnv Anants MacBook Pro litibackend anantchandra brew postinstall mysql gt Postinstalling mysql gt usr local Cellar mys
  • 从json中获取所有子节点

    我有以下 json var source k 01 k 02 children k 05 k 06 children k ABC k PQR k 07 k 03 我希望能够指定 k 的值并取回所有孩子 以及孙
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐

  • 可以弹簧@Autowired Map吗?

    这是地图 Autowired private Map
  • Google appengine blobstore 上传处理程序处理额外的表单发布参数

    我希望有一个文件上传表单 除了文件选择输入之外 还具有其他输入字段 如文本区域 下拉列表等 问题是我无法访问除 blobstore 上传处理程序中的文件之外的任何发布参数 我使用以下函数调用来获取参数名称 但它始终返回空屏幕 par sel
  • PHP 中的 HTTP_HOST 和 SERVER_NAME 有什么区别?

    有什么区别 SERVER HTTP HOST and SERVER SERVER NAME in PHP 您什么时候会考虑使用其中一种而不是另一种 为什么 The HTTP HOST是从获得HTTP 请求头 http www w3 org
  • popToRootViewControllerAnimated 并释放所有视图

    我有一个 UINavigationController 它要求提供一些信息 用户导航直到最后 一旦到达那里 他们就可以接受或取消所有已输入的数据 他们选择哪个选项并不重要 因为他们总是会使用 UINavigationController p
  • 统一更新:使用本地文件的更新更新私有存储库(重构、重命名、更新)并从原始存储库获取定期更新

    我刚刚开始学习 Windows 上的 GitHub CLI 工具 认为我是新手 我有一个如下所示的用例 在深入探讨之前 让我先总结一下 我的用例是 克隆一个开源项目 它更新 定期 即创建它的本地副本并进行修改 包括 重命名文件和文件夹 将更
  • 准备重用

    有人可以告诉我如何使用prepareForReuse吗 我已经搜索了几个小时并阅读了开发文档 在扩展 UITableViewCell 的自定义单元中 我有prepareForReuse 方法及其被调用 但我该如何处理它 存在渲染问题 我这样
  • 有没有办法让无线电组水平布局?

    我在单选按钮组内有 2 个单选按钮 现在它们垂直排列 我尝试将它们放入水平容器中 但没有用 有没有办法让一组单选按钮水平排列
  • 在当前位置插入文本 TINYMCE IE9

    如何将文本插入到tinyMce编辑器的当前位置 它在 Chrome FF Safari 中完美运行 但在 IE 中它始终从文本区域的顶部开始 我目前执行以下操作 tinyMCE execCommand mceInsertContent fa
  • 如何在c中创建一个n维数组

    我正在考虑编写一个函数 它接受 n 个参数并使用这些参数作为维度返回一个 n 维数组 现在我意识到一维和二维数组很容易用指针实现 对于二维数组 片段将类似于 标准方式 int x int temp x int malloc m sizeof
  • TCP SOCKET 句柄可以继承吗?

    在 Windows 上 大多数类型的句柄都可以由子进程继承 期望 TCP 套接字也可以被继承 但是 当安装某些分层服务提供商时 这不会按预期工作 赛门铁克的 PCTools 等 A V 产品曾经导致我们的客户应用程序出现问题 按照微软构建W
  • 重构 AutoHeightWebView 库以获取在单独的浏览器中打开的超链接

    我有一个已升级的 React Native 应用程序 回到旧时代 如果您访问一篇新闻文章 该文章有超链接 并且您单击了超链接 它会将您重定向到手机浏览器并打开那里的链接 但它不再这样做 因为我们必须升级react native autohe
  • 警告:条件中的字符串文字

    使用下面的第一段代码我收到两条警告消息 warning string literal in condition x2 if input N n do this else input L l do this 而不是使用它 这不会导致任何警告
  • 如何在 VS2012 MVC4 项目中设置 Ext.NET 2.0?

    我非常怀疑我的问题是否会得到解答 但我会在这里尝试 因为我的挫败感如此之高 也许这会帮助我自己降低它们 所以 我想做的是 从头开始安装 VS2012 好吧 点击 exe 即可开始 创建一个新的MVC4项目 使用 Razor View Eng
  • 条件变量初始化的Pythonic方式是什么?

    由于 Python 的作用域规则 所有在某个作用域内初始化的变量此后都可用 由于条件不会引入新的作用域 因此不一定需要其他语言中的构造 例如在该条件之前初始化变量 例如 我们可能有 def foo optionalvar None some
  • AngularJS 文件拖放到指令中

    这个例子几乎完成了我想在 Angular js 中移植的功能 HTML5 文件 API http html5demos com file api view source 我一直在尝试用 google 搜索一些指令示例 但是我发现旧示例大量使
  • 选择具有特定属性的元素

    我的输入按钮没有任何类或 id 并且有 onclick attr 如下所示
  • SQL Server 闩锁及其对性能问题的指示

    我试图了解我们的数据库 SQL 2008 的潜在性能问题 特别是一个性能计数器 SQLServer Latches Total Latch Wait Time Total Latch Wait Time ms 我们看到数据库响应时间变慢 我
  • 隐藏打开的 Excel 文件

    这是我的问题 我开发了一个程序 它使用 Microsoft Excel COM 组件来读取 写入 Excel 文件 嗯 我的应用程序运行良好 但是当我在程序运行时直接使用 Excel 打开另一个文件时 我的应用程序使用的文件会出现在 Exc
  • 可以在同一台机器上安全地运行多个 Android 模拟器并使用套接字进行通信吗?

    我想在一台笔记本电脑 最坏情况 或专用网络上的多台计算机上模拟一小群 Android 设备 这是为了测试 Android 上的通信和进程迁移 有没有一种安全的方法可以从 Eclipse 下的给定应用程序识别并启动特定的模拟器 我最近安装了
  • 将 JSON 数据存储在 MySQL 表中

    我在使用 NodeJS 在 MySQL 表中存储 JSON 数据时遇到问题 JSON 数据如下所示 header file1 0 file2 1 subfiles subfile1 true subfile2 true response n