問題タブ [jsmn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
19298 参照

json - 組み込みシステムでjsmnを使用して小さなJSONファイルを解析するにはどうすればよいですか?

組み込みシステム(10K RAM /フラッシュのみ)で小さなJSONファイルを解析する必要があります。JSONは次のとおりです。

jsmnは要件に合うように見えますが、トークンしか提供しないため、ほとんどのJSONパーサーとは異なります。試しましたが、わかりませんでした。

誰かがjsmnでそれを解析する方法の例を共有できますか?

0 投票する
0 に答える
674 参照

c - JSMN API の問題

jsmn ライブラリがどのように機能するかを理解するのに苦労しています。これが私の現在のコードとそれが生成するものです。私の問題は derefBy 関数のみに基づいています

jsmn マーカーを返さなければならないことはわかっていますが、名前または姓だけでそれを作成する方法がよくわかりません。この関数を使用したコード例を次に示します。

私の混乱は結果に基づいています。私が得るのは完全にランダムなようです

または、何も変更せずにこれを取得します

単純に生成したい

fmt は 's' および 'd' 文字の文字列で、残りの引数がオブジェクト キーまたは配列インデックスのどちらであるかを示します。たとえば、derefBy(marker,"sds",key1, sub1, key2) は、最初に key1 によってマーカーを逆参照し、次に sub1 をインデックス付けし、最後に key2 をインデックス付けします。

0 投票する
1 に答える
74 参照

c - ヘッダーのみの C "ライブラリ" は無駄ではありませんか?

ヘッダーのみの C「ライブラリ」を見ています: https://github.com/zserge/jsmn/blob/master/jsmn.h

私が理解できる限り、このコードは .c ファイルに含まれるすべてのオブジェクト ファイルにコンパイルされjsmn.h、スペースが無駄になります。

(ファイルの関数定義は 内#ifndef JSMN_HEADERにあるため、JSMN_HEADER を定義することで、これを「従来の」ヘッダー ファイルとして使用できます。)

  • 「トラディショナル」.c.hペアで書かれていないのはなぜですか?
  • リンカは、オブジェクト ファイル間で関数の同一定義を重複排除するのに十分賢いですか? 「重複シンボル」エラーが発生すると予想していました。
  • コードをヘッダーに配置すると、C でどのような利点が得られますか? (C++ ではありません。)
  • #define JSMN_HEADERインポートする前に使用する場合、関数定義はどこから取得しますか?
  • ヘッダーのみであることはjsmn.h巧妙なトリックであり、そこから学ぶことができますか?