<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>JSON | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《原生JSON模块终于成为现实》</title><link>https://channel.meo-ai.com/posts/576</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/576</guid><pubDate>Wed, 18 Mar 2026 01:43:35 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《原生JSON模块终于成为现实》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ESModules&quot; title=&quot;#ESModules&quot;&gt;#ESModules&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JSON&quot; title=&quot;#JSON&quot;&gt;#JSON&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Web%E6%A0%87%E5%87%86&quot; title=&quot;#Web标准&quot;&gt;#Web标准&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：本文介绍了JavaScript平台原生支持JSON模块导入的新特性。通过使用&lt;code&gt;import attributes&lt;/code&gt;语法&lt;code&gt;with { type: &quot;&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&quot; }&lt;/code&gt;，开发者现在可以在浏览器、Node.js、Deno和Bun中直接导入JSON文件，无需构建工具转换。这标志着从构建时模拟到运行时原生支持的转变，使模块系统更加显式和可扩展。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;- 使用&lt;code&gt;import config from &quot;./config.&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&quot; with { type: &quot;&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&quot; }&lt;/code&gt;语法实现原生JSON导入，替代了以往需要打包工具转换的方式&lt;br /&gt;- 动态导入同样支持：&lt;code&gt;await import(&quot;./config.&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&quot;, { with: { type: &quot;&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&quot; } })&lt;/code&gt;&lt;br /&gt;- 导入的JSON会被解析一次并缓存，多次导入返回同一对象实例（&lt;code&gt;a === b&lt;/code&gt;为true）&lt;br /&gt;- 浏览器仍需服务器返回&lt;code&gt;Content-Type: application/&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&lt;/code&gt;，并遵循CORS规则&lt;br /&gt;- 与打包工具方案对比：原生方案在运行时获取文件，而打包工具通常在构建时内联JSON&lt;br /&gt;- 此特性不仅限于JSON，已扩展支持CSS模块脚本（&lt;code&gt;with { type: &quot;css&quot; }&lt;/code&gt;），为未来其他结构化模块类型建立模式&lt;br /&gt;- 现代浏览器、Node.js、Deno、Bun均已支持该特性，但打包工具在代码分割、资源哈希等方面仍有价值&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&quot;&gt;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;JSON imports finally work natively. Learn how import ... with { type: &apos;json&apos; } changes runtime behavior, caching, and makes bundlers optional.&quot;&gt;
  &lt;i class=&quot;link_preview_right_image&quot; style=&quot;background-image:url(&apos;https://cdn4.telesco.pe/file/WN5gYHdJxxyjhkTgck1yzTf1hu3GVGPgTf7sTJjL1R4FDEQxWgnaKsxJTN74xI6ToumUaGyPU4tKOxWG1OX_cDOzLdEQQLdFuL7_vckUQlocyH7yD1Ajpwy6zfsc_aE4EQGUUsiMxWydbksynuRCtpteUyQZvzDFHKWkFfZ3Vg2EoOLFiUJVyNsOxbU8_DDw-QBlaMPOrByqIZprutZc7ebjn4bjTPi2GlwbbkUPqqozRQPrVoJo6ghcZ_UqyqNNMv_toySloGJNHPpRh2kU7Oe2NJtSXcTb2nbIUgZODpzcbQn1QkEEABEy6rZtZVGie_kvMXZ6JHnrstj4_Xbw2Q.jpg&apos;)&quot;&gt;&lt;/i&gt;
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Allthingssmitty&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;Native &lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; modules are finally real - Matt Smith&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; imports finally work natively. Learn how import ... with { type: &apos;&lt;mark class=&quot;highlight&quot;&gt;json&lt;/mark&gt;&apos; } changes runtime behavior, caching, and makes bundlers optional.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《使用 SurveyJS 在 React 中构建动态 JSON 驱动表单》</title><link>https://channel.meo-ai.com/posts/568</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/568</guid><pubDate>Mon, 02 Mar 2026 02:09:26 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《使用 SurveyJS 在 React 中构建动态 &lt;/span&gt;&lt;mark class=&quot;highlight&quot;&gt;&lt;span class=&quot;post-title-source&quot;&gt;JSON&lt;/span&gt;&lt;/mark&gt;&lt;span class=&quot;post-title-source&quot;&gt; 驱动表单》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23React&quot; title=&quot;#React&quot;&gt;#React&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SurveyJS&quot; title=&quot;#SurveyJS&quot;&gt;#SurveyJS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JSON_Schema&quot; title=&quot;#JSON_Schema&quot;&gt;#JSON_Schema&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Form_Builder&quot; title=&quot;#Form_Builder&quot;&gt;#Form_Builder&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Dynamic_Forms&quot; title=&quot;#Dynamic_Forms&quot;&gt;#Dynamic_Forms&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23No_Code&quot; title=&quot;#No_Code&quot;&gt;#No_Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结&lt;br /&gt;&lt;br /&gt;本文介绍了 SurveyJS 表单构建器在 React 应用中的集成与使用方法。通过 &lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; Schema 定义表单结构，开发者可实现运行时动态渲染表单，避免硬编码。文章详细讲解了安装配置、组件初始化、主题定制、数据持久化（localStorage/服务端）、图片上传处理、PDF 导出等核心功能，并提供了完整的 Next.js 集成示例代码，帮助开发者快速搭建自托管、数据可控的动态表单解决方案。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;&lt;br /&gt;- **&lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; Schema 驱动**：表单结构通过 &lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; 定义，支持运行时动态加载和修改，实现真正的数据驱动表单渲染&lt;br /&gt;- **可视化构建器**：Survey Creator 提供拖拽式界面，非技术人员也能设计表单，实时生成对应 &lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; 配置&lt;br /&gt;- **React 集成方案**：需安装 &lt;code&gt;survey-creator-react&lt;/code&gt; 和 &lt;code&gt;survey-creator-core`，组件不支持 SSR，在 Next.js 中需使用动态导入并设置 `ssr: false&lt;/code&gt;&lt;br /&gt;- **数据持久化**：通过 &lt;code&gt;saveSurveyFunc&lt;/code&gt; 回调可将表单配置保存至 localStorage 或后端服务，支持加载已有 &lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; 配置继续编辑&lt;br /&gt;- **扩展功能**：支持 Ace 编辑器集成（&lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt; 编辑）、图片上传至服务器（非 Base64 存储）、PDF 导出、自定义主题等高级功能&lt;br /&gt;- **商业化许可**：Survey Creator 商用需购买许可证，否则界面会显示警告横幅&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://surveyjs.hashnode.dev/build-dynamic-json-driven-forms-react&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://surveyjs.hashnode.dev/build-dynamic-json-driven-forms-react&quot;&gt;https://surveyjs.hashnode.dev/build-dynamic-json-driven-forms-react&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://surveyjs.hashnode.dev/build-dynamic-json-driven-forms-react&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Learn how to define forms as data, manage logic in JSON, and build scalable React forms using SurveyJS.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Schema-Driven Forms in React: A Practical Guide to Forms as Data&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Schema-Driven Forms in React: Practical Guide&quot; src=&quot;/static/https://cdn4.telesco.pe/file/Jmz9KXq-PvJbPqe5BEntl3GN1apHLi9jmZi8BZCFdDwWxOFImiuJbhvBG40q75rXPH7OPNJIf6SVmXqE3eIl_cjXwTOdVCu5Wjd_q-OnGDsbxVQkqHr3e_njS9Kx5A74HLtpvnHInXGdqwLjdVC4gI_MXOI3a0X6VPDBh5wkQKBCSkWSacCM3cramnknvgY3UjJLuW9-KtYY0P76M1MjNHXgyrGKXUaDCENZwCW18_L3Lw5Ql8nG3ukKW-gBOdC8UdH0JDkUU6cHeqftaCE3JDksPiY_mI5_bXLAIJvmNzhwaqr_96Y1NCGXGdnpurZORVIU__DSa6QOCxhq2UllAA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;Schema-Driven Forms in React: Practical Guide&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Learn how to define forms as data, manage logic in &lt;mark class=&quot;highlight&quot;&gt;JSON&lt;/mark&gt;, and build scalable React forms using SurveyJS.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>