世界のVB6での一般的なVBA開発グループ、処理JSON、XMLデータソースの構造は、非常に難しいことですが、漠然と、どこJSON機能の独自の解釈は、辞書を使用して実装見つけることを忘れないでくださいそれは非常にまれです。
そう単純で、本明細書のこの通常の.NET開発を使用して簡単になっています。ネットの世界では、それは、VBAの開発者は少しのインスピレーションを期待することができ、非常に古い古い知識かもしれません。
オープン波コード38は、JSONの多数の名前ディンディンNewtonsoft.Jsonライブラリを使用するコードを、解釈しました。
触媒のほとんどは、データ収集、収集されたデータJSONデータ変換としてExcelのシーンを使用しているので、データは、データベースと構造Excelのユーザーのための標準的なテーブル構造となります。
だから(JSONデータの生成がどのようなことができますが、非常に単純なシーケンスである)JSONデータを生成する必要なく、機能ベースのクエリを使用します。
SQLでのデータのクエリは、リレーショナルデータベースはもちろんのネットの世界では王様、LINQです。だから、それは経験とlinqtoxmlと何ら変わりはJSONクエリとなり(強くLINQの知識を学習し、ついでにlinqtoxmlを学ぶお勧めしません、入出力率が非常に高く、シーンの多くは使用することができます)。
グッド図書館、学習教材や文書の多くは、Newtonsoft.JsonはコードExcelの触媒でその汚れた表情で、著者によって書かれたサンプルのドキュメントライブラリを参照するための時間を取るために優れている、例外ではありません。
Newtonsoft.Jsonは、同様のJSONが自由に流れるXMLへの同じアクセスへのアクセスになるLINQを介して利用されているでしょう。
もちろん、オブジェクト指向プログラミングのアイデアは、より直接的なJSONを直接クラスオブジェクトのインスタンスに変換され、直接使用LinqToObjectもコードは、あなたがオブジェクトのJSON文字インスタンスをデシリアライズすることができ、アクセスすることができます。
インスタンス化を使用すると、飛行のより一般的な感覚を書くために、コードから、強く型付けされたインテリジェントな表示機能コードを持つことができます。
抗シリアライズといえば、それは確かにシリアル化コードは、物事の12種類であり、簡単にローカルに保存されたプロファイル情報をJSONにシリアライズすることができます。
もちろん、このような元の戻り日付の形式など、いくつかの微調整小さな詳細は、満足していない、あなたがそれを制御するために、次のコードを使用することができますがあります。
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
string str = JsonConvert.SerializeObject(result, Formatting.Indented,timeConverter);
同样地如果json字符串要求序列化的结果为C#关键字时,可以用JsonProperty这样处理它
class PostData
{
public string api_name { get; set; }
public string token { get; set; }
//params为C#关键字不能用
[JsonProperty(PropertyName = "params")]
public Dictionary<string, string> Params { get; set; }
public string fields { get; set; }
}
在Newtonsoft.Json的世界,json和xml是兄弟,是左右手,随时想转换都同样只需一句代码即可,所以Excel催化剂实现功能过程中,也懒得对xml字符串进行表格化转换了,实在xml见到的机会越来越少了,实在有,直接转成json,再作处理就好。
xml有xpath的查询,在json的世界,也有jsonPath,语法很接近于xpath,学这些通用性知识,很容易类比到其他同类的知识上,学习回报很不错,同样推崇的当然还有正则,那是后话。
对jsonPath感兴趣的,可以在这个网站上学习。https://goessner.net/articles/JsonPath/
结语
作为数据分析工作者的业余开发,不能对开发的细节面面俱到,仅将自己开发Excel催化剂过程中,会遇到的一些细节,给大家一同分享,希望对大家有所帮助。
技术交流QQ群
QQ群名:Excel催化剂开源讨论群, QQ群号:788145319
关于Excel催化剂
Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!
Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!
Excel催化剂插件下载链接:https://pan.baidu.com/s/1Iz2_NZJ8v7C9eqhNjdnP3Q
取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。
最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。*Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!
关于Excel催化剂作者
姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。
服务过行业:零售特别是鞋服类的零售行业,电商(淘宝、天猫、京东、唯品会)
技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。
历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。
擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。
2018年には、彼のキャリアは、元のフルタイムの仕事から、主要な調整を行って始めました一時的に前方の道路上で、決まった収入をフリーランスになっていない、フルタイムの仕事に苦い復帰明確ではない、のためのExcel触媒しなければならない事業と開発大きな影響を受けた(時間内にフルタイムの仕事を維持することができなかっただけで、時間に発表された作品で結果を置くことができない彼は、年齢、家族の責任の30年を持っているので、仕事以外の時間は、非常に限られている)こと。
期待と支持者の過半数:Excelの触媒は、ダウンを実行することができました、私はグループの利点を持っている(サポートすることができましたマルチメッセージの励ましを、転送小さな報酬の下での推薦と最も集中し、どこの会社ができるの下で友人のサークルと私はウィンウィンを達成するために、あなたの会社の技術の価値を最大化することができますので、お勧めのピアをお勧めします(データは協力のフォームを開発するための予備的コンサルタントや小さなプロジェクトがどのように想像することができます)。