phonegap でモバイルアプリを開発しています。Chromeでテストすると、エラーは表示されず、データベースが正しく入力されていれば. Eclipse を介して実際のデバイスで試してみると、以下のエラーが表示されます。これらのエラーが発生するのはなぜですか?
09-22 19:56:49.568: E/Web Console(6912): Uncaught SyntaxError: Unexpected token } at file:///android_asset/www/index.html#page2:1
09-22 19:56:49.558: E/Web Console(6912): Uncaught SyntaxError: Unexpected token ILLEGAL at file:///android_asset/www/index.html#page2:1
index.htmlにはそのような文字がないため、}を見つける場所。
JSON を読み込もうとすると、これらのエラーが発生します。
PS私はこのコードを使用してjsonを読み取ります
function billpaymentstxt()
{
var billpaymentsjson = '{"posts" : [',
i,
line = 0,
billpayments = 0,
mybillpaymentsjson,
Amountint,
Amountdec;
jQuery.ajaxSetup({
'beforeSend' : function(xhr) {
xhr.overrideMimeType('text/plain; charset=iso-8859-7');
},
});
jQuery.get('BillPayments.txt',function(data){
// alert(data.length);
line=0;
for (i = 1; i <= ((data.length)/20); i += 1) {
billpaymentsjson += '{"Id" :' + '"' + data.substr((line+0), 10).trim() + '"' + ',';
Amountint = data.substr((line+10), 7).trim();
Amountdec = data.substr((line+17), 2).trim();
billpaymentsjson += '"PreviousPayments" : ' + '"' + Amountint + '.' + Amountdec + '"' + '}';
line = i * 20;
//alert(line);
if (line == data.length)
{
billpaymentsjson += ']';
}
else
{
billpaymentsjson += ',';
}
}
if (line == 0)
{
billpaymentjson += ']';
}
billpaymentsjson += "}";
//alert(billpaymentsjson);
mybillpaymentsjson = jQuery.parseJSON( billpaymentsjson );
if (((mybillpaymentsjson.posts.length)) == 0) {
$('#mycontent article').html('<strong>bill - <font color=blue>OK</font></strong>');
}
for (i = 0; i < (mybillpaymentsjson.posts.length); i += 1) {
notesdb.transaction((function(i) {
return function(t){
t.executeSql('INSERT into billpayments (barcode, amount, receiptno) VALUES (?,?,?);',
[mybillpaymentsjson.posts[i].Id, mybillpaymentsjson.posts[i].PreviousPayments, 0],
function(){
billpayments = billpayments + 1;
$('#mycontent article2').html(billpayments + '/' + mybillpaymentsjson.posts.length + ' <strong>billpayments</strong>');
if ((mybillpaymentsjson.posts.length) - billpayments == 0) {
$('#mycontent article2').html('<strong>billpayments - <font color=blue>OK</font></strong>');
}
}
);
};
})(i));
}
});
}