2016-03-22 6 views
0

I以下のようなメッセージがよくJSON形式に応じて解析されるかどうかを知りたいと思い、私はそれだと思うが、それは次のようなエラーこのjsonファイルは解析されていますか?

でそれについて文句を処理する必要があるアプリケーション[ERR] TXデータJSONファイル内のファイル・エラー

コードは、この1

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

で事前のおかげで、

とは!

は、私は次のスニペット

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

私はJSONLintで検証されているにも試してみましたが、私は

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

は、それがベルを鳴らすんというエラーを取得しますか?

ありがとうございました

+0

解析コードを表示しないと、正しく解析されたかどうかわかりません。 JSONは少なくとも有効です。疑わしい場合は –

+0

、www.jsonlint.com(またはその他)。はい、あなたのJSONは有効なので、あなたの質問にもっとコンテキストを与える必要があります。 – YvesLeBorg

+0

ありがとう@TimCastelijnsとYvesLeBorg、私は本当に解析がどのように行われているのか分かりません。ログにはわかりにくいものしかありません。 – ndarkness

答えて

1

はい、正しいです。

あなたの情報のために、JSONLintはJSONの正当性をチェックするのに適したサイトです。

ただし、数値の設定は文字列として再考することをおすすめします。すなわち、言って良いアイデアです:

"trycount":5 

ではなく

"trycount":"5" 

前者は値が数値として解析する必要があるJSONを消費しているものは何でもアプリケーションに示すとおり。ブール値と同様に、それは使用するより良い練習だ

"txsynch" : false 

ではなく

"txsynch" : "false" 

それはあなたのJSONパーサーでエラーが文字列としてこれらを渡すために発生しません、それはちょうど良い練習です。

パーサのエラーは、さまざまな理由が考えられます。

+1

ブール値をブール値で表現するのにブール代数を使用し、整数値でもブール代数を使用する方が良いですが、文字列に入れてもパース中にエラーが発生しないことに注意してください。 –

関連する問題