2016-03-22 16 views
0

, ben bunu işleme ihtiyacı uygulamanın ancak şu hata ile bu konuda şikayet düşünüyorumBu json dosyası iyi ayrıştırıldı mı? Aşağıdaki mesajı iyi json formatına göre ayrıştırılır olmadığını bilmek istiyorum

[ERR] tx verileri JSON dosya hatası

dosyasındaki kod önceden bu bir

{"tx": 
{ 
    "moteeui":"fa789f0000000000", 
    "txmsgid":"000000000152", 
    "trycount":"5", 
    "txsynch" : "false", 
    "ackreq" : "true", 
    "userdata": 
    { 
     "port":"10", 
     "payload":"ABCABC" 
    } 
} 
} 

sayesinde olduğunu

Saygılarımızla!

Ben şu pasajı

[{ 
    "mote": "202020", 
    "payload": "ABCB", 
    "port": 2, 
    "trycount": 5, 
    "txmsgid": "" 
}] 

Ben JSONLint ile doğrulanmış olması da denedim ve

[ERR]tx data JSON parsing error: 3 object item(s) left unpacked 

bir şey hatırlatıyor mu söyleyerek bir hata alıyorum?

Tekrar teşekkürler

+0

Bize ayrıştırma kodunu göstermezseniz, doğru şekilde ayrıştırılıp ayrılmadığını söyleyemeyiz. JSON en azından geçerli. Şüpheniz varsa, –

+0

www.jsonlint.com (veya diğer). Evet, JSON’unuz geçerli, dolayısıyla sorunuza daha fazla bağlam vermeniz gerekecek. – YvesLeBorg

+0

Teşekkürler @TimCastelijns ve YvesLeBorg, ben gerçekten ayrıştırma yapıldığını göremiyorum, sadece bu belirsiz olan günlüğe erişimim var ... – ndarkness

cevap

1

Evet, doğru.

Bilgileriniz için, JSONLint JSON'un geçerliliğini kontrol etmek için iyi bir sitedir. Ancak, sayısal değerleri dizeler olarak ayarlamak için yeniden düşünmek isteyebilirsiniz. yani, daha iyi bir fikir demek ki:

"trycount":5 

oldukça eski değer bir sayı olarak çözümlenen gerektiği JSON tüketen ne olursa olsun uygulama için görüldüğü gibi

"trycount":"5" 

daha. Bunu

"txsynch" : false 

yerine

"txsynch" : "false" 

daha bu dizeleri olarak bu geçmek JSON ayrıştırıcı bir hataya neden olmaz:

Benzer boole değerlerini içeren, daha iyi bir uygulama kullanmak için; sadece daha iyi bir uygulamadır.

Ayrıştırıcıdaki hata birçok farklı nedenden dolayı olabilir.

+1

Not: Booleanları booleanları temsil etmek için ve tamsayılar için kullanmak daha iyi bir uygulama olsa da, bunları dizelere yerleştirmek, ayrıştırma sırasında hataya neden olmaz. –

İlgili konular