Site updated: 2023-12-02 22:01:00

This commit is contained in:
qinglong committed 2023-12-02 22:01:03 +08:00
1 parent d8a66ffc39
commit 1daeb34fd2
193 files changed
+227 -244

No files matched your search

+12 -14
View File
@@ -6,6 +6,18 @@
"description": "天生我材必有用",
"home_page_url": "https://hitoli.com",
"items": [
{
"id": "https://hitoli.com/2023/12/02/fastjson%E5%BA%8F%E5%88%97%E5%8C%96%E5%8E%BB%E9%99%A4%E7%A9%BA%E5%AD%97%E7%AC%A6%E4%B8%B2/",
"url": "https://hitoli.com/2023/12/02/fastjson%E5%BA%8F%E5%88%97%E5%8C%96%E5%8E%BB%E9%99%A4%E7%A9%BA%E5%AD%97%E7%AC%A6%E4%B8%B2/",
"title": "fastjson序列化去除空字符串属性",
"date_published": "2023-12-02T13:47:00.000Z",
"content_html": "<p>今天在把对象转为 json 时需要去除 key 或者 value 为 null 或空字符串的属性,特此记录一下后续好复用。</p>\n<figure class=\"highlight java\"><figcaption data-lang=\"java\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token keyword\">public</span> <span class=\"token keyword\">static</span> <span class=\"token class-name\">String</span> <span class=\"token function\">toJSONString</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Object</span> object<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre> <span class=\"token class-name\">SerializerFeature</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> serializerFeatures <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">SerializerFeature</span><span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre> <span class=\"token comment\">// 格式化时间</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre> <span class=\"token class-name\">SerializerFeature<span class=\"token punctuation\">.</span>WriteDateUseDateFormat</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre> <span class=\"token punctuation\">&#125;</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre> <span class=\"token keyword\">return</span> <span class=\"token constant\">JSON</span><span class=\"token punctuation\">.</span><span class=\"token function\">toJSONString</span><span class=\"token punctuation\">(</span>object<span class=\"token punctuation\">,</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">ValueFilter</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre> <span class=\"token annotation punctuation\">@Override</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre> <span class=\"token keyword\">public</span> <span class=\"token class-name\">Object</span> <span class=\"token function\">process</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">Object</span> object<span class=\"token punctuation\">,</span> <span class=\"token class-name\">String</span> name<span class=\"token punctuation\">,</span> <span class=\"token class-name\">Object</span> value<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre> <span class=\"token comment\">// 如果名称或者值为 null 或空字符串,则不序列化该属性</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>name <span class=\"token operator\">==</span> <span class=\"token keyword\">null</span> <span class=\"token operator\">||</span> <span class=\"token punctuation\">(</span>name <span class=\"token keyword\">instanceof</span> <span class=\"token class-name\">String</span> <span class=\"token operator\">&amp;&amp;</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">)</span> name<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">||</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre> value <span class=\"token operator\">==</span> <span class=\"token keyword\">null</span> <span class=\"token operator\">||</span> <span class=\"token punctuation\">(</span>value <span class=\"token keyword\">instanceof</span> <span class=\"token class-name\">String</span> <span class=\"token operator\">&amp;&amp;</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token class-name\">String</span><span class=\"token punctuation\">)</span> value<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">isEmpty</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre> <Line truncated
"tags": [
"工作",
"解决问题",
"fastjson"
]
},
{
"id": "https://hitoli.com/2023/11/03/Linux%E4%B8%8B%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2SpringBoot%E9%A1%B9%E7%9B%AE%E7%9A%84%E8%84%9A%E6%9C%AC/",
"url": "https://hitoli.com/2023/11/03/Linux%E4%B8%8B%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2SpringBoot%E9%A1%B9%E7%9B%AE%E7%9A%84%E8%84%9A%E6%9C%AC/",
@@ -257,20 +269,6 @@
"win10",
"wsappx"
]
},
{
"id": "https://hitoli.com/2022/12/02/KLineChart%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8C%87%E6%A0%87%E7%94%BB%E5%9B%BE/",
"url": "https://hitoli.com/2022/12/02/KLineChart%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8C%87%E6%A0%87%E7%94%BB%E5%9B%BE/",
"title": "KLineChart实现自定义指标画图",
"date_published": "2022-12-02T07:16:00.000Z",
"content_html": "<h4 id=\"引言\"><a class=\"anchor\" href=\"#引言\">#</a> 引言</h4>\n<p>本次任务是需要在一个指标图上通过点击标记画出此标记参与计算的数据范围、最高最低值、参考线等等,于是有了以下代码。代码仅供参考,如有错误的地方请指正!<br />\n<img data-src=\"https://nas.hitoli.com:18014/images/2022/12/02/7fd440be0502d0099427e7c74c4ebf29.jpg\" alt=\"7fd440be0502d0099427e7c74c4ebf29.jpg\" /></p>\n<h4 id=\"模版代码\"><a class=\"anchor\" href=\"#模版代码\">#</a> 模版代码</h4>\n<figure class=\"highlight js\"><figcaption data-lang=\"JavaScript\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre><span class=\"token comment\">// 箱体指标</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token keyword\">const</span> boxDataScope <span class=\"token operator\">=</span> <span class=\"token number\">300</span> <span class=\"token comment\">// 箱体范围</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token comment\">// 黄金线参数</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre><span class=\"token keyword\">const</span> goldenSectionA <span class=\"token operator\">=</span> <span class=\"token number\">0.191</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre><span class=\"token keyword\">const</span> goldenSectionB <span class=\"token operator\">=</span> <span class=\"token number\">0.382</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token keyword\">const</span> goldenSectionC <span class=\"token operator\">=</span> <span class=\"token number\">0.5</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre><span class=\"token keyword\">const</span> goldenSectionD <span class=\"token operator\">=</span> <span class=\"token number\">0.618</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre><span class=\"token keyword\">const</span> goldenSectionE <span class=\"token operator\">=</span> <span class=\"token number\">0.809</span></pre></td></tr><tr><td data-num=\"9\"></td><td><pre><span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span>chart<span class=\"token punctuation\">.</span><span class=\"token function\">addTechnicalIndicatorTemplate</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">&#123;</span></pre></td></tr><tr><td data-num=\"10\"></td><td><pre>\t<span class=\"token literal-property property\">name</span><span class=\"token operator\">:</span> <span class=\"token string\">'custom_box_solid'</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"11\"></td><td><pre> <span class=\"token literal-property property\">shortName</span><span class=\"token operator\">:</span> <span class=\"token string\">'箱体'</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"12\"></td><td><pre> <span class=\"token literal-property property\">precision</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"13\"></td><td><pre> <span class=\"token literal-property property\">plots</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span> <span class=\"token comment\">//key 属性的值最好在主图数据范围内,否则 Y 轴的值会跟着变大可能会导致主图变成一条线</span></pre></td></tr><tr><td data-num=\"14\"></td><td><pre> <span class=\"token punctuation\">&#123;</span> <span class=\"token literal-property property\">key</span><span class=\"token operator\">:</span> <span class=\"token string\">'max'</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">title</span><span class=\"token operator\">:</span> <span class=\"token string\">'最高:'</span> <span class=\"token punctuation\">&#125;</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"15\"></td><td><pre> <span class=\"token punctuation\">&#123;</span> <span class=\"token literal-property property\">key</span><span class=\"token operator\">:</span> <span class=\"token string\">'min'</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">title</span><span class=\"token operator\">:</span> <span class=\"token string\">'最低:'</span> <span class=\"token punctuation\">&#125;</span></pre></td></tr><tr><td data-num=\"16\"></td><td><pre> <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span></pre></td></tr><tr><td data-num=\"17\"></td><td><pre> <span class=\"token literal-property property\">calcParams</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>boxDataScope<span class=\"token punctuation\">,</span> goldenSectionA<span class=\"token punctuation\">,</span> goldenSectionB<span clasLine truncated
"tags": [
"工作",
"KLineChart",
"KLineChart",
"K线",
"自定义指标"
]
}
]
}