如何将 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 数据库