2016-09-25 1 views
1

빠른 편집 - 웹 개발의 초보자이기 때문에 해결책이 어리석은 일임을 알고 있습니다.JSON 형 데이터를 문자열로 변환, 노드 mysql

nodejs/expressjs/mysql을 통해 MySQL 데이터베이스에 데이터 세트를 삽입하려고합니다.

데이터베이스에 성공적으로 연결되어 있으며 문제없이 쿼리 할 수 ​​있습니다. 여기

내 포스트 코드 :

app.post('/pyme', function(req,res){ 
    console.log("Data being POSTED to db..."); 
    var post = req.body; 
    console.log(post); 
    var sql_insert_pyme = 'INSERT INTO pyme(NombreComercio,NumeroTelefono) VALUES =?'; 
    sql.query(sql_insert_pyme,post,function(err){ 
    if(err) throw err; 
    }); 
}); 

다음과 같이 내가 외모를 받고 오전 POST 데이터 :

{ NombreComercio: 'Sebastian Avila', 
    NumeroTelefono: '71021714' } 

나는 간단한에 해당 게시물을 깰 수있는 방법이 필요합니다

"'Sebastian Avila', '71021714'" 

:

기본적으로 내가 함께 종료 할

post = "'Sebastian Avila', '71021714'" 

답변

1

당신은 배열에 JSON 객체를 줄일 필요가 (당신이 바로 문자열로 줄일 수 있지만, 배열은 당신에게보다 효율적으로 제어 할 수 있습니다)하고 가입 할 수 있습니다.

당신이 쿼리 매개 변수는 동적하려면

var postObject = { 
 
    NombreComercio: 'Sebastian Avila', 
 
    NumeroTelefono: '71021714' 
 
} 
 

 
var postArray = Object.keys(postObject).reduce(function(reduced, jsonKey) { 
 
    reduced.push("'" + postObject[jsonKey] + "'"); 
 
    return reduced; 
 
}, []); 
 

 
var postString = postArray.join(','); 
 

 
console.log(postString);

, 당신은뿐만 아니라 쿼리의 열 이름 부분에 Object.keys(postObject).join(',')을 설정할 수 있습니다.

+0

이 그것을 해결하십시오. 감사! 나는 물체를 줄이고 밀어 넣는 방법을 알아 내고 돌아 다니고있었습니다. –

+0

당신은 천만에요. 간단한 물건과 이제는 어떻게 처리 해야할지 잘 알고 있습니다. 건배! – Nevertheless

0

는이

var postObject = { 
 
NombreComercio: 'Sebastian Avila', 
 
NumeroTelefono: '71021714' 
 
} 
 

 
var vals = Object.keys(postObject).map(function(key) { 
 
return "'"+postObject[key]+"'"; 
 
}); 
 

 
console.log(vals.join(','))

관련 문제