質問の題名がうまく表現できず申し訳ないのですが、下記のようなコードでconsole.log(bodyquery)を出力すると文字列として以下のような結果が得られます。
{'id':15,'record': {'stock': {'value':9}}},{'id':11,'record': {'stock': {'value':4}}}
これを'records':[bodyquery]//hereのところに代入するとPUT https://prologis.cybozu.com/k/v1/records.json 400 (Bad Request)とエラーが出力されてしまいます。
※申し訳ないのですが、KintoneというアプリケーションをカスタムするためにJavascriptAPIを利用しているため、通常では判断できないエラーなので、ここでは詳細な説明を割愛させてください。
一方で
'records':[
{'id':15,'record': {'stock': {'value':9}}},{'id':11,'record': {'stock': {'value':4}}}
]
のように同じコードをいれると正しく動作します。
bodyqueryの変数の中に文字列で格納してしまっていることが問題のように考えたのですが、仮にそうである場合に、これを文字列としてではなく、ありのまま代入する方法はあるのでしょうか?
宜しくお願い申し上げます。
Javascript
1 var bodyquery =""; 2 for (var i=0; i<result[0]['records'].length; i++){ 3 for(var j = 0; j < aryresult.length; j++){ 4 console.log() 5 if(result[0]['records'][i]['productName']['value']==aryresult[j]['pro']){ 6 if(result[0]['records'][i]['stock']['value']==""){ 7 var count = result[0]['records'][i]['arrival']['value'] - aryresult[j]['amt'] 8 bodyquery += "{'id':"+result[0]['records'][i]['レコード番号']['value']+",'record': {'stock': {'value':"+count+"}}}," 9 }else{ 10 var count = result[0]['records'][i]['stock']['value'] - aryresult[j]['amt'] 11 bodyquery += "{'id':"+result[0]['records'][i]['レコード番号']['value']+",'record': {'stock': {'value':"+count+"}}}," 12 } 13 } 14 } 15 } 16 bodyquery = bodyquery.slice(0,-1) 17 console.log(bodyquery) 18 var body = { 19 'app':389, 20 'records':[bodyquery]//here 21 } 22 kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', body, function(resp) { 23 console.log(body) 24 }, function(error) { 25 console.log(error); 26 console.log(body) 27 }); 28
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/05 11:07
2020/08/05 11:08
2020/08/05 11:12
2020/08/05 11:18