ホームページ  >  記事  >  jsonデータ解析とは何ですか

jsonデータ解析とは何ですか

(*-*)浩
(*-*)浩オリジナル
2019-05-20 09:36:276788ブラウズ

JSON データ解析の方法: 最初に JSON ファイルを作成し、次に「document.h」および「cocos-ext.h」ヘッダー ファイルをクラスにインクルードし、次に FileUtils を通じて JSON ファイル パスを取得して渡します。 Document オブジェクト JSON データを解析し、最終的にさまざまなタイプのデータ値を取得します。

jsonデータ解析とは何ですか

# ネットワーク通信中にデータを送信する必要があります。JOSN データ解析のプロセスは、まず JSON ファイルを作成し、次に document.h と cocos を含めます。 - class.ext.h ヘッダー ファイル内で、FileUtils を通じて JSON ファイル パスを取得し、Document オブジェクトを通じて JSON データを解析し、最後にさまざまな種類のデータ値を取得します。

JSON (JavaScript Object Notation) は軽量のデータ交換形式です。これにより、人間の読み書きが容易になるだけでなく、機械による解析や生成も容易になります。 JSON は、プログラミング言語から完全に独立したテキスト形式を使用しますが、C に似た言語習慣 (C、C、C#、Java、JavaScript、Perl、Python などを含む) も使用します。これらの特性により、JSON は理想的なデータ交換言語になります。 。

JSON データ解析

たとえば、Cocos2d.x ルート ディレクトリの external/json ディレクトリの下には、JSON 処理に関連するクラスがあります。ヘッダーはここで主に使用されます。ファイル。このファイルの 2 つのコア クラスは GenericValue と GenericDocument です。GenericDocument は GeneficValue を継承します。 GenericDocument は、ドキュメント コンテンツの解析など、ドキュメント コンテンツの処理に使用されます。GenericValue は主に値コンテンツ、つまりドキュメント内のキーと値のペアのコンテンツを処理し、キーに基づいて値を取得できます。 GenericValue と GenericDocument の両方が再入力されました。したがって、型定義の後に名前を使用できます。

ypedef GenericDocument>Document;

typedef GenericValue>Value;

Value は配列添字演算子 [ ] をオーバーロードします。この演算子を使用して、JSON ファイル内のキーに基づいて値を取得できます。

const GenericValue &operator [] (const Ch* name) const{

const_cast(*this)[name];}

Value はグループも提供しますGetXXX メソッドを使用して、さまざまなデータ型に応じて対応する値を取得します。

例を使用して JSON データを解析する方法を示します。手順は次のとおりです:

JSON ファイルの作成

プロジェクト内で、classes フォルダーの下に次の内容の JSON ファイルを作成します:

{"pets":["dog","cat"],"stuInfo":{
"stuAge":23,"stuName":"rose","birthday":"1990-01-12"},"username","tom","other":[true,30]}

このファイルでは、pets は、dog と pet の 2 つの値を持つペットを表す配列です。学生情報、その後に usename 、最後に他の配列があります。

document.h および cocos-ext.h ヘッダー ファイルをクラスに含めます

#include "cocos-ext.h"
#include "json/document.h"

FileUtils を通じて JSON ファイル パスを取得します

const char* file_path = FileUtils::getInstance()->fullPathForFilename("hello.json").c_str();
log("文件路径path=%s",file_path);

Document オブジェクトを介した JOSN データの解析

//文档对象
rapidjson::Document dl;
//获得JSON字符串内容
std::string contentStr = FileUtils::getInstance()->getStringFromFile(file_path);
//解析
dl.Parse<0>(contentStr.c_str());
//输出JSON文件的内容
printf("%s\n",contentStr.c_str());

さまざまな種類のデータ値の取得

配列添字演算子 [] を使用して、キーに従って値を取得します。 Value Methods の GetXXX を使用して、さまざまな種類のデータ値を取得します。

rree

以上がjsonデータ解析とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。