如何将 JSON 解析数据插入 MYSQL

Posted

技术标签:

【中文标题】如何将 JSON 解析数据插入 MYSQL【英文标题】:How to Insert JSON Parsed data into MYSQL 【发布时间】:2015-01-23 00:35:17 【问题描述】:

我在这里尝试将 JSON 解析数据插入 mysql 数据库。我在 MYSQL 中创建了包含 3 列的表 - 链接、URL、描述。MYSQL 中的表名是信息。我的代码不起作用。我找不到错误..谁能帮助我!这是我的代码

dbStore.js

var express=require('express');
var mysql=require('mysql');
var config = require('./config.json');

var dbConnect = mysql.createConnection(
user     :  config.user,
password :  config.password,
database :  config.database
);

dbConnect.connect(function(err)
    if(err)
        console.log(err);
    else
        console.log("connection success");
    
);

function insert() 
    var key = $("#search1").val();
    var htmlContent = "";
    $.ajax(
        type: "GET",
        url: "http://api.duckduckgo.com/?q=" + key + "&format=json&pretty=1",
        dataType: "jsonp",
        success: function (data, status, jqXHR) 
            alert("on success");
            if (data.RelatedTopics.length != "") 
                for (var i = 0; i < data.RelatedTopics.length; i++) 
                    var desc = data.RelatedTopics[i].Text;
                    var url  = data.RelatedTopics[i].Icon.URL;
                    var link = data.RelatedTopics[i].FirstURL;
                    var data=
                        link: link,
                        url: url,
                        description: desc
                    ;
                    dbConnect.query('INSERT INTO information SET?',data,function(err,res));
                    htmlContent += "";
                    $('#div1').html(htmlContent);
                
            
        ,
        error: "error"
    );
;

表名是信息(columns-link,url,description)。从我的html页面点击事件中,我调用了dbStore.js中的insert()函数,它将解析来自api的json数据并将数据插入表中。先感谢您。

【问题讨论】:

是否每次都到达 alert() 语句?此外,htmlContent 变量永远不会改变(以防万一你正在观看它) 【参考方案1】:

这似乎不是有效的 SQL。

应该是这样的

INSERT INTO information (`link`, `url`, `description`) VALUES(?,?,?)

编辑:看起来 htmlContent 也永远不会改变,因此您可能需要根据需要进行调整。

EDIT2:您的数据类型设置为 jsonp。那应该是基于您的 DuckDuckGo API 调用的 JSON。 JsonP 是 JSON,通常用 javascript 填充并通过脚本标签加载。这需要在服务器上进行特殊准备。 DuckDuckGo 正在为您返回通用 JSON。

【讨论】:

另一种解决方案参见 Edit2 谢谢回复,我解决了。抱歉耽搁了。

以上是关于如何将 JSON 解析数据插入 MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 node.js 将多行 JSON 数据同时插入 MySQL?

如何优化使用 PHP 或 Mysql 或 Laravel 将 12K 的 JSON 插入数据库

如何将数据从多个输入字段转换为单个 JSON 对象以进一步将其插入单个 mysql 字段

Python - 如何解析 JSON 并将其保存到 MYSQL 数据库

如何使用 mvc spring 将 JSON 数组插入 MySQL

C++下如何将json数据存入mysql数据库