商品规格存储问题

准备条件

        <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version> <!-- 指定您需要的 FastJSON 版本 --></dependency>
    @Testvoid test6() {// 创建 JSON 对象JSONObject jsonObject = new JSONObject();// 创建内存选项的数组JSONArray memoryArray = new JSONArray();memoryArray.add("2G");memoryArray.add("4G");// 创建颜色选项的数组JSONArray colorArray = new JSONArray();colorArray.add("红色");// 将内存选项数组和颜色选项数组放入 JSON 对象中jsonObject.put("内存", memoryArray);jsonObject.put("颜色", colorArray);// 输出 JSON 格式的字符串System.out.println(jsonObject.toJSONString());}
    @Testvoid test8(){ScSpecs scSpecs = scSpecsMapper.selectById(1);String productSpecs = scSpecs.getProductSpecs(); // 字符串json格式Map<String, List<String>> maps = (Map) JSON.parse(productSpecs);// 使用流(Stream)遍历 Map 中的键值对maps.entrySet().stream().forEach(entry -> {String key = entry.getKey();List<String> values = entry.getValue();System.out.println(key + ": " + values);});}

Json key value

    // json key value@Testvoid test5() {int id = 1;JSONObject jsonObject = new JSONObject(); // 创建 JSON 对象// 根据id从数据库中获取ScCategories对象ScCategories scCategories = scCategoriesMapper.selectById(id);// 根据ScCategories对象的id查询对应的ScAttributeKey对象列表List<ScAttributeKey> scAttributeKeys = scAttributeKeyMapper.selectList(new LambdaQueryWrapper<ScAttributeKey>().eq(ScAttributeKey::getCategoriesId, scCategories.getId()));// 遍历ScAttributeKey对象列表scAttributeKeys.forEach(record -> {// 根据ScAttributeKey对象的id查询对应的ScAttributeValue对象列表List<ScAttributeValue> scAttributeValues = scAttributeValueMapper.selectList(new LambdaQueryWrapper<ScAttributeValue>().eq(ScAttributeValue::getAttributeId, record.getId()));// 创建属性值的 JSONArrayJSONArray attributeValuesArray = new JSONArray();// 遍历ScAttributeValue对象列表scAttributeValues.forEach(value -> {// 添加属性值到 JSONArray 中attributeValuesArray.add(value.getAttributeValue());});// 将属性名和对应的属性值 JSONArray 放入 JSON 对象中jsonObject.put(record.getAttributeName(), attributeValuesArray);});// 输出 JSON 格式的字符串System.out.println(jsonObject.toJSONString());}

数组 Key Value

    @Testvoid test4() {ArrayList<ArrayList<String>> srt = new ArrayList<>();  //  [[颜色,红色][尺寸,小]]List<ScCategories> scCategories = scCategoriesMapper.selectList(null);scCategories.forEach(record -> {List<ScAttributeKey> scAttributeKeys = scAttributeKeyMapper.selectList(new LambdaQueryWrapper<ScAttributeKey>().eq(ScAttributeKey::getCategoriesId, record.getId()));scAttributeKeys.forEach(reo -> {List<ScAttributeValue> scAttributeValues = scAttributeValueMapper.selectList(new LambdaQueryWrapper<ScAttributeValue>().eq(ScAttributeValue::getAttributeId, reo.getId()));// 假设每个 ScAttributeKey 对象只包含一个 ScAttributeValue 对象scAttributeValues.forEach(ro -> {ArrayList<String> pair = new ArrayList<>();pair.add(reo.getAttributeName());pair.add(ro.getAttributeValue());srt.add(pair);});});});buildMenuTree(scCategories);System.out.println(srt);System.out.println(scCategories);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB启动报错

spring boot 引入MongoDB启动报错 java.lang.IllegalStateException: Failed to introspect Class [io.micrometer.core.instrument.binder.mongodb.DefaultMongoConnectionPoolTagsProvider] from ClassLoader [sun.misc.Launcher$AppClassLoader18b4aac2] at org.springfra…

爬虫综合案例-获取房源信息并在地图上显示

文章目录 1.项目介绍2.项目分析3.爬取房源信息4. 导入高德地图5.地图上显示房源信息6.运行程序 1.项目介绍 本次案例将从 58 同城信息网爬取相关城市的房源出租信息&#xff0c;然后通过高德地图把房源信息地图显示&#xff0c;通过地图进行浏览&#xff0c;点击相应的热点文字…

二叉树|二叉树的层序遍历 (广度优先搜索)

力扣题目链接 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;if (root ! NULL) que.push(root);vector<vector<int>> result;while (!que.empty()) {int size que.size();vector<int>…

网络工程师练习题3

网络工程师 在Cisco Catalyst 3548以太网交换机上建立一个名为lib105的VLAN&#xff0c;下列正确的配置是&#xff08;&#xff09;。 A.Switch-3 548#vlan 1 name lib 105 Switch-3548#exitB.Switch-3548&#xff08;valn&#xff09; 1 name lib 105C. Switch-3548&#xf…

[运维] 可视化爬虫易采集-EasySpider(笔记)

一、下载 ​下载地址 下滑到Assets页面&#xff0c;选择下载 二、解压运 ​解压压缩包&#xff0c;打开文件夹 在此文件夹下打开Linux Terimal, 并输入以下命令运行软件&#xff1a; ./easy-spider.sh 注意软件运行过程中不要关闭terminal。 三、使用 1.开始 首先点击…

使用 CSS 实现毛玻璃效果

在现代 Web 设计中,毛玻璃效果越来越受欢迎。它能够让界面元素看起来更加柔和、朦胧,同时又不会完全遮挡背景内容,给人一种透明而又不失质感的视觉体验。虽然过去实现这种效果需要借助图像编辑软件,但现在只需要几行 CSS 代码,就可以在网页上呈现出令人惊艳的毛玻璃效果。 使用…

愚人节礼物(C++)

这不愚人节 快到了吗&#xff1f;身为顶级程序员&#xff0c;不用c编写愚人节礼物那心里是很不舒服的&#xff0c;所以&#xff0c;趁着愚人节到来之际&#xff0c;下面分享一种坑朋友的c代码&#xff1a; 内容包含一些敏感词&#xff0c;如果对你产生了影响或伤害&#xff0c;…

IDEA 配置阿里规范检测

IDEA中安装插件 配置代码风格检查规范 使用代码风格检测 在代码类中&#xff0c;右键 然后会给出一些不符合规范的修改建议&#xff1a; 保存代码时自动格式化代码 安装插件&#xff1a; 配置插件&#xff1a;

SPSS k-均值聚类的 anova分析表解读

from&#xff1a;SPSS K均值聚类&#xff08;k-means&#xff09;和可视化方法 - CollinsLi - 博客园 (cnblogs.com) F值&#xff1a;变量对聚类的贡献 显著性水平&#xff1a;<0.05 则因子显著

MyBatis面试简答题

以下是一份MyBatis的高难度简答题,共20题: 请解释MyBatis中#{}和${}的区别,并举例说明它们在实际应用中的使用场景。 MyBatis的Mapper接口是如何与XML映射文件关联的? 如何在MyBatis中实现动态SQL?请列举几种常见的动态SQL元素并解释其作用。 描述MyBatis中的ResultMap的作…

[python] ETL 工作流程 Prefect

Prefect 是一个用于构建、调度和监控数据流程的 Python 库。它提供了一种简单而强大的方式来管理 ETL&#xff08;Extract, Transform, Load&#xff09;工作流程。下面是一个简单的示例&#xff0c;演示了如何使用 Prefect 来创建和运行一个简单的任务&#xff1a; 首先&…

深入理解JavaScript对象类型及其用法

在JavaScript中&#xff0c;对象是一种复合数据类型&#xff0c;用于存储多个值作为属性。这些属性可以是原始数据类型&#xff08;如字符串、数字等&#xff09;&#xff0c;也可以是其他对象。JavaScript对象的灵活性和强大功能使其成为编程中的关键概念。本文将深入探讨Java…

Pug 模板引擎:学习与使用

Pug 模板引擎&#xff1a;学习与使用 在前端开发中&#xff0c;模板引擎的使用可以极大地提高代码的可读性和可维护性。Pug&#xff08;也称为 Jade&#xff09;是一个流行的 Node.js 模板引擎&#xff0c;它使用简洁的语法来创建 HTML 结构。由于在vue3文档中看到了Pug的影子…

CMake笔记之PROJECT_SOURCE_DIR、CMAKE_SOURCE_DIR、CMAKE_CURRENT_BINARY_DIR对比

CMake笔记之PROJECT_SOURCE_DIR、CMAKE_SOURCE_DIR、CMAKE_CURRENT_BINARY_DIR对比 —— 杭州 2024-03-19 夜 code review! 文章目录 CMake笔记之PROJECT_SOURCE_DIR、CMAKE_SOURCE_DIR、CMAKE_CURRENT_BINARY_DIR对比1.三者区别2.具体示例说明3.CMAKE_SOURCE_DIR 和 PROJECT_S…

Sora没体验资格?开源项目:Open-Sora,复现类Sora视频生成方案

项目简介 Open-Sora项目是一项高效制作高质量视频的工作&#xff0c;明确所有权使用其模型、工具和内容的计划。通过采用开源原则&#xff0c;Open-Sora 不仅实现了先进的视频生成技术的普及&#xff0c;还提供了一个专业且用户界面的方案&#xff0c;简化了视频制作的复杂性。…

php 对接Pangle海外广告平台收益接口Reporting API

今天对接的是Pangle广告reporting api接口&#xff0c;拉取广告收益回来自己做统计。记录分享给大家 首先是文档地址,进入到Pangle后台就能看到文档地址以及参数&#xff1a; 文档地址&#xff1a;https://www.pangleglobal.com/zh/integration/reporting-api-v2 在这里插入图片…

算法---二分查找练习-2(寻找旋转排序数组中的最小值)

寻找旋转排序数组中的最小值 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 首先&#xff0c;检查数组的最后一个元素是否大于第一个元素。如果是&#xff0c;说明数组没有进行旋转&#xff0c;直接返回第一个元素作为最小值…

稀碎从零算法笔记Day22-LeetCode:

题型&#xff1a;链表 链接&#xff1a;2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;Leet 题目描述 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 …

vue项目:使用xlsx导出Excel数据

文章目录 一、安装xlsx二、报错及解决三、编写公共方法四、方法使用 一、安装xlsx 执行命令&#xff1a;npm i xlsx file-saver --save 二、报错及解决 使用时&#xff1a;import XLSX from "xlsx"; 发现如下报错信息 报错原因&#xff1a;xlsx版本不兼容。 解…

Java项目基于SpringBoot和Vue的时装购物系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的时装购物系统。 &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x1f495;个人简介&#xff1a;混迹在java圈十年有余&#xff0c;擅长Java、微信小程序、Python、Android等&#xff0c;大家有这一块的问题可…