百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

基于机器学习算法预测男性精子生育力的分析与研究

toyiye 2024-06-21 12:01 7 浏览 0 评论


介绍

临床数据的自动分析可能会开辟医学的新途径,尽管通常限于一种形式。然而,最近的趋势已经转移到包括来自其他方式,包括传感器数据和参与者数据数据。此外,在人工智能,特别是深度学习,进步,通过对众多使用情况及其可喜的成果成为医务人员的必备工具都表现出其潜在的。


男性生殖是获得更多的关注医疗领域中,由于一些研究表明在过去几十年中精液质量在全球下降以及地域差异。精液分析是不孕症研究的核心部分,但预测男性生育力的临床价值尚不确定。应根据WHO的建议进行标准的精液分析,其中包括评估精液量,精子浓度,总精子数量,精子活力,精子形态和精子活力的方法。精子活动力分为进行性,非进行性和不运动性精子的百分比。精子的形态根据头部缺损,颈部和中段缺损,主要部分(尾巴的主要部分)缺损以及染色的细胞制剂中过量的残留细胞质的存在进行分类。

来自人类精液样品显微视频的镜架,显示了几个精子(奥林巴斯CX31相衬显微镜带加热台,UEye UI-2210C相机,400倍放大率)


上图显示了从湿人精液样本视频中提取的帧的示例,世界卫生组织已根据可育男性的精液质量确定了各种精液参数的参考范围,这些男性伴侣的怀孕时间不超过12个月。但是,这些范围不能用于区分可育和不育男性。手动精液分析需要受过训练的实验室人员,即使按照WHO的指导原则进行,也可能容易出现实验室内和实验室间的高变异性。


开发精液分析自动系统的已经进行了数十年,在图像数字化使得使用计算机分析图像成为可能之后,在1980年代引入了CASA。通过使用CASA能够更快速,更客观地评估精子浓度和精子活动性,但是要获得准确且可重复的结果一直是一项挑战。


由于样品中的颗粒和精子以外的其他细胞,以及发生精子碰撞和交叉的精子轨迹,结果可能不可靠。分析从精浆分离并重悬于培养基中的精子时,可获得更好的结果。还开发了CASA用于评估精子的形态和精子中的DNA片段。


据称,新模型还可以评估活力,并且可以对精液样本进行一些功能测试。但是,评估需要特殊的染色或准备程序。尽管它的历史悠久,数字化仪的精子,不建议CASA临床使用的技术,但是,得到了改进,并且已经建议使用CASA精子计数和活力评估可以与分析方差比手工方法少一个有用的工具。


关于一般的自动精液分析,Urbano 等人提出了一种全自动的多精子跟踪算法,该算法可以同时跟踪数百个单个精子。此外,它还能够以最少的操作员干预测量随时间变化的运动参数。该方法通过将jpdaf的修改版本应用于微观精液记录而起作用,从而使它们可以在邻近和头部碰撞时追踪单个精子(这是现有CASA仪器的常见问题)。Urbano 团队的主要贡献是用于跟踪单个精子的改良jpdaf算法,但是仅通过对两个样本评估所提出的方法,很难确定该方法在更大人群中的推广性。


Dewan 团队提供了一种相似的方法,通过产生跨显微视频序列的细胞轨迹来跟踪精子。与CASA相似,对象建议是通过灰度边缘检测算法生成的,然后对其进行跟踪以生成对象轨迹。然后,使用CNN将这些轨迹分类为“精子”或“非精子”实体,其中“精子”实体用于估算运动性(渐进性,非渐进性和运动性)和浓度的三种质量度量每单位精液量的精子数量。结果似乎很有希望,但是由于该方法是在封闭的数据集上进行评估的,因此无法直接将该方法与其他方法进行比较。


尽管不是我们工作的重点,但精液质量的另一个基本属性是测量精液样本中存在的异常精子的数量,Ghasemian 团队试图通过将人类精子单独分为正常或异常组来检测异常精子,Shaker 团队做了类似的研究,通过将精子头的图像分成正方形斑块并将其用作基于字典的分类器的训练数据,来预测精子头是正常还是异常。一个共同的主题是,用于运动性和形态学评估的所有自动方法都集中于一种模式,而不将其他数据纳入分析。此外,评估是在相当有限或封闭的数据上进行的,这会阻碍结果的可重复性和可比性。

在提出的工作中,我们旨在通过以下三种方式为自动精液分析领域做出贡献:

(i)开发一种快速一致的自动分析精子活力的方法

(ii)探索结合多模式分析方法的潜力视频数据和参与者数据,以改善自动分析的结果


据我们所知,尚未进行过关于如何使用深度学习和多模式数据分析直接结合参与者/患者数据来分析精液记录以自动预测运动参数的研究。使用来自85位参与者的数据和三重交叉验证,我们观察到初步结果是有希望的。因此,基于机器学习的自动分析可能会成为未来男性不育研究的有价值的工具。


方法

  • 实验设计

我们的主要方法是使用CNN在显微镜下分析人类精液录像中的帧序列,从而根据进行性,非进行性和不运动性精子来预测精子运动。然后将视频记录与参与者数据相结合,以了解如何使用我们数据集中可用的多种方式改进我们的方法。由于没有可直接比较的相关作品,因此我们首先训练了一系列机器学习算法,以为我们期望基于深度学习的算法的执行效果设定基线。


我们的方法介绍分为三个部分。首先,我们对用于训练和评估所提出的方法以及统计分析的数据集进行描述。其次,我们详细介绍了如何基于经典机器学习算法来训练和评估这些方法。最后,我们描述了使用基于深度学习的算法来预测进行性,非进行性和不运动性精子活动的精子活动性的主要方法。


  • 数据集

对于所有实验,我们都使用了VISEM数据集,这是一个完全开放的多模式数据集,其中包含来自85个不同参与者的匿名数据和精液样本视频。除了视频外,用于分析的选定变量还包括对每个精液样本和参与者数据的精子浓度和精子活力进行人工评估。参与者的数据包括年龄,BMI和性禁欲日。在实验中,视频和参与者数据用作自变量,而精子运动值(进行性,非进行性精子运动和不动精子的百分比)用作因变量。如果作为独立变量添加到分析中,我们还进行了另一项实验以测试精子浓度的影响。


精液样品的收集和处理的细节先前已经由Andersen 团队描述过。简而言之,精液样品是在实验室附近的房间或在家中收集的,并根据WHO指南进行处理。在家收集样本,将其运送到身体附近以避免冷却,并在两个小时内进行分析。如世卫组织2010年手册所述,评估精子浓度和精子活力。使用精液样本的视频评估精子活力,并由一名经验丰富的实验室技术人员评估所有样本。10微升将精液放置在载玻片上,盖上22×22 mm的盖玻片,并置于显微镜下。使用带有相衬光学元件的Olympus CX31显微镜,加热台(37°C)和安装在显微镜上的相机(UEye UI-2210C,IDS Imaging Development Systems,德国)记录视频。使用400倍放大倍率捕获用于精子运动能力评估的视频,并将其存储为AVI文件。记录的长度在2到7分钟之间变化,帧速率为每秒50帧。


  • 统计分析

对于所有实验,我们报告了通过三重交叉验证计算得出的MAE,以获得更可靠,更通用的评估。此外,通过校正配对t检验检验统计学显着性,其中p值低于或等于0.05被认为是显着的。通常,t检验基于样本是独立的假设。但是,交叉验证倍数中的样本不是独立的。因此,需要软化系数来补偿非独立样本。显着性检验表明,与ZeroR基线相比,所有平均MAE低于11的结果均具有显着改善。对于ZeroR(通常也称为空模型),交叉验证系数定义为Q2的值为0。这意味着ZeroR预测等于整个训练数据集所计算的平均值。


  • 基线机器学习方法

对于机器学习的基线,我们依靠著名算法和手工功能的组合。为了从视频帧中提取特征,我们使用了开源库Lucene Image Retrieval(LIRE),LIRE是一个Java库,它提供了一种基于颜色和纹理特征来检索图像和照片的简单方法。我们使用所有机器学习算法(超过40个不同功能)测试了所有可用功能(超过30个不同功能),但是在这项工作中,我们仅报告了最适合我们的机器学习算法的功能,即Tamura功能。田村的特征(粗度,对比度,方向性,线条状,规则性和粗糙度)基于人类的视觉感知,这使其在图像表示中非常重要。使用田村图像特征,参与者数据以及两者的组合,我们训练了不同的算法来对运动性变量进行预测。每个测试算法我们总共进行了三个实验;一个只使用田村功能,


由于与深层功能相比,田村的功能稀疏,因此我们使用了略有不同的方法从视频中选择帧。每个视频都由一个特征向量表示,其中包含头60秒每秒每秒两帧(第一帧和中间帧)的Tamura特征。总共,每个视频有120帧,并包含2160个特征点的视觉特征空间。然后使用WEKA机器学习库将这些功能用于训练多种机器学习算法24。我们使用所有可用算法进行了实验,但仅报告了六个性能最佳的算法。报告的算法是简单线性回归,随机森林,高斯过程,顺序最小优化回归(SMOreg),弹性网和随机树。这些算法的局限性在于它们一次只能预测一个值,这意味着我们必须对三个精子活力变量中的每个变量运行一次。


  • 深度学习方法

对于我们的主要方法,我们使用基于CNN的方法对三个运动变量进行回归。对于每个基于深度学习的实验,我们从数据集的85个视频中提取了250个帧样本(单个帧或帧序列)。每个视频仅提取250帧的原因是由于某些视频太短,无法收集250多个30帧的序列,这大约是7500帧,相当于每秒50帧的大约2分钟的视频。这样一来,共有21,250帧用于训练和验证。当我们使用三重交叉验证评估每种方法时,训练和验证数据集之间的分割分别为14,166和7,083帧样本。


我们的深度学习方法可以分为三类。首先,我们分析从视频中提取的原始帧。通过查看来自单个或一系列帧的原始像素值并使用它们进行预测来完成分析。其次,我们使用光流来生成帧序列的时间表示,以将时间维度的信息压缩为单个图像。这种表示的优点在于,它可以对视频中的时间依赖性进行建模,并且能够减轻使用CNN分析原始帧序列的硬件成本。最后,通过使用原始视频帧的视觉特征以及光流表示的时间信息,我们结合了先前的两种方法来利用两者的优势。


深度学习方法的基准是如上所述的机器学习算法和ZeroR。对于每个实验,我们预测单个精液样本中进行性精子,非进行性精子和不运动性精子的百分比。与经典的机器学习算法相比,神经网络可以一次预测所有三个值。下图展示了完整的深度学习分析管道的高层概述。

深度学习管道用于所有基于多模式神经网络的实验。从我们的数据集开始,我们将帧数据提取为四个不同的表示形式。这四个不同的“图像”被发送到图像准备,即我们将单个图像或堆叠的图像传递给卷积神经网络(CNN)。训练CNN以学习捕获精子运动的空间或空间和时间组合特征的模型。这基于图像表示和准备(堆叠或单帧)。然后将CNN模型的输出与参与者数据组合。在对三个运动变量进行多变量预测之前,此组合向量会经过两个完全连接的层。


使用mse训练所有基于深度学习的模型以计算损失,使用Nadam训练以优化权重。那达慕优化具有0.002学习速率,β 1个的值0.900,和β 2值0.999。只要训练每个模型的耐心值提高到20个时间段,我们就对其进行训练,这意味着如果mse在20个时间段的验证集上没有改善,我们将停止训练以避免过度拟合。用于评估的模型是在验证集上表现最佳的模型,而不是最后一个时期的模型。此外,对于每种方法,我们训练了两个模型。

一种模型仅使用框架数据

另一种模型使用框架数据和相关参与者数据(BMI,年龄和性禁欲日)的组合。


为了将参与者数据包括在分析中,我们首先将帧样本传递给CNN。然后,我们获取最后一个卷积层的输出,并对其进行全局平均池化,以生成一维特征向量,该向量与参与者数据连接在一起。在接下来的几节中,我们将介绍六种用于预测精子活动性的方法。使用单帧进行预测的方法,按通道堆叠帧的方法,使用垂直帧矩阵的方法,基于稀疏光流的方法,基于密集光流的方法以及基于两流网络的方法。


  • 单帧预测

对于基于单帧的方法,我们从每个视频中提取了250个单帧,并将其用于基于流行的神经网络架构(例如DenseNet ,ResNet 和Inception )训练各种CNN模型。我们使用来自不同CNN架构的Keras 实现中随附的ImageNet 权重的转移学习进行了实验,发现一般而言,将这些权重用作进行进一步培训的基础比从头训练更好。


请注意,我们没有对模型进行微调,这意味着我们在训练期间没有冻结任何层。我们仅报告性能最佳的模型,在我们的案例中,这是在Keras中使用TensorFlow实施的ResNet-50模型31个后端。在通过模型之前,将框架的大小调整为224×224,这是基于ResNet的体系结构的建议大小。


基于单帧的方法很简单,并且存在一些明显的局限性。最值得注意的是,我们丢失了视频中存在的时间信息。在测量依赖于视觉线索的属性(例如形态)时,丢失时间信息可能是可以接受的,但是对于运动性,随时间的变化是重要的功能。


  • 灰度框架堆叠

灰度帧堆叠方法是单帧预测方法的扩展。在这里,我们提取250批次的30帧图像并进行灰度处理,然后逐通道堆叠(如图所示)。这将导致21,250个帧样本的形状为224×224×30,其中包含30个连续帧的信息。在堆叠框架之前将框架灰阶化的原因有两个。首先,由于视频的颜色是显微镜和实验室准备工作的功能,而不是精子本身,因此我们认为此功能可能会以意想不到的方式混淆模型。其次,对帧进行灰度缩放可以将每个帧的大小减少三倍,从而可以在功能较弱的硬件上堆叠30帧。这种方法背后的动机是使时间信息保持在给定的帧序列中,但是仍然保持输入的大小相对较小。

帧经过灰度缩放后如何在通道上堆叠的说明。从视频中提取n帧序列并进行灰度处理。然后将这些帧逐通道堆叠,这意味着每个帧占据最终图像的一个通道维度。最终堆叠的“图像”的形状为224×224×30。


这些提取的帧序列用于训练在Keras中实现的ResNet-50模型。请注意,由于我们更改了通道维度的大小,因此无法像以前的方法那样执行转移学习。除此之外,该模型以与“深度学习方法”部分开头所述的相同方式进行训练。


  • 垂直框架矩阵

为了创建垂直框架矩阵,提取了250批次的30帧图像并进行了灰度处理。在将每一帧展平为一维矢量之前,将其尺寸调整为64×64。调整每帧大小的原因是要保持扁平图像的长度相对较短。最终向量的大小为64×64,长度为4096。然后将每个向量彼此堆叠,从而得到形状为30×4096×1的矩阵。在图 4的第四行中。类似于上一节中介绍的灰度帧堆叠方法,我们将多个帧的信息压缩为单个图像,然后可以通过标准的二维CNN。由于尺寸限制,用于此方法的模型为ResNet-18。否则,将以与前面两种方法相同的方式对其进行训练。

来自具有不同浓度(列)的精液样本视频的图像示例,以及用于训练基于神经网络的算法(行)的四种图像表示形式。 精子浓度 (A)每x106 / mL 4个,(B)每x106 / mL 33个,(C)每x106 / mL 105个,(D)每x106 / mL 192个,以及(E)每x106 / mL 350个。 图像表示; (1)原始视频;(2)稀疏光流;(3)密集光流;以及(4)垂直帧矩阵。


  • 稀疏光流

对于稀疏光流方法,我们使用Lucas-Kanade的32种估算光流的算法。使稀疏光流“稀疏”的原因是,我们仅测量从一帧到另一帧的一些跟踪特征之间的差异。


在我们的案例中,我们使用Harris和Stephens拐角检测算法来检测单个的精子头部(在OpenCV中实现作为“ goodFeaturesToTrack”)。然后,我们使用Lucas-Kanade算法在30帧序列上跟踪每个精子的进展。与以前的方法相似,以均匀间隔的间隔对序列进行采样,以使光流表示之间的差异最大。我们使用了基于在Keras中实现的ResNet-50架构的CNN模型,并使用了之前描述的相同配置对其进行了训练。稀疏光流图像表示的示例可以在图4的第二行中看到 。


  • 密集的光流

致密光流的方法生成使用枪手Farneback算法光流的表示,用于两帧运动估计。与稀疏光流相反,密集光流处理给定图像的所有像素,而不是一些跟踪的特征。对于此方法,我们尝试了两种配置。

第一种配置测量两个连续帧之间的差异,第二种配置在选定的帧样本之间增加了10帧的跨度。这样做是为了增加帧比较之间的测量差异。我们收集了250张密集的光流图像,并针对两种配置中的每一种训练了一个模型,以评估该方法的结果。对于这两个大步配置,我们使用与其他深度学习方法相同的体系结构(ResNet-50)和训练配置来训练每个模型。在图3的第三行中可以看到使用密集光流创建的图像表示的示例。


  • 两流网络

对于最后一种方法,我们结合了之前的两种方法(原始帧的视觉特征和光流的时间信息),这是受到西蒙扬和齐瑟曼所做工作的启发,他们使用双网络执行人类行为识别和分类。模型体系结构遵循他们文章中描述的类似结构,不同之处在于我们如何将光流表示形式输入到模型中(我们不堆叠用于不同序列的多个光流表示形式)。


基于此修改,我们提出了三种不同的方法。

  • 首先,我们使用双网络与前30帧的Lukas-Kanade稀疏光流表示并行分析一个原始视频帧.
  • 其次,我们处理一个原始帧以及Farneback的密集光学表示。
  • 最后,我们再次使用一个原始帧,但是现在,我们将Lukas-Kanade和Farneback的光流方法结合在一起,将它们按通道堆叠,然后将它们一起通过网络。以与单帧预测方法相同的方式提取帧,然后从基于光流的实验中重复使用光流表示。

结果与讨论

表1和表2中可以看到每种方法的结果的完整概述,比较结果的图表如图所示 表1给出了对经典数据进行训练的经典机器学习算法的结果,这些数据包括参与者数据,图像特征以及两者的结合。对于这些结果,高斯过程,SMOreg和随机森林的MAE低于11,根据配对t检验分析,MAE显着。一个有趣的发现是,在所有添加了参与者数据的情况下,该算法的性能都较差。尽管是初步结果,但对于BMI而言,这与我们先前的研究Andersen团队的发现并不相符。其中使用多元线性回归发现BMI与精子活动力呈负相关。但是,这些方法非常不同,因此无法直接比较。在将来的工作中,我们计划对新数据集上的所有方法进行广泛的分析。从该实验中获得的另一个有趣的见解是,Tamura功能似乎非常适合精子分析,对此进行更深入的研究将非常有趣。


表1

表2

不同的基于机器学习的算法(经典和深度学习)可根据渐进,非渐进和不运动的精子来预测精液质量。点线代表与ZeroR基线相比被认为是重要结果的阈值。y轴并非从0开始,以更好地突出显示差异。对于使用密集光流的方法,将步幅值(比较两个帧时跳过多少帧)显示为1或10,表示跳过的帧数。密集光流和通道方式灰度是性能最好的方法,但是,我们提出的几种方法都低于有效阈值。


由于当用CASA评估精子活力时,精子浓度是一个重要的混杂变量,因此我们使用两种表现最佳的算法进行了另外的实验,以研究其是否有影响。对于随机森林,包括精子浓度在内,我们的MAE为11.091,而没有的话,MAE为10.996。对于SMOReg,MAE为10.902,不包含10.800。误差的微小差异表明,在分析中包括精子浓度时,我们的方法不会获得或失去任何预测能力,与CASA系统相比,这可以看作是一个优势。


为了评估基于深度学习的方法的性能,我们使用了性能最佳的经典机器学习方法(MAE为10.800的SMOreg)和ZeroR作为基准。在表2中,显示了单模式和多模式深度学习方法的结果。对于大多数实验,深度学习模型的性能要比最佳机器学习算法(SMOreg)高出一到两点。并不比ZeroR更好的两种方法是双流神经网络,它们将两个光学流表示形式组合到一个自定义网络中。


我们假设这与以下事实有关:这些网络无法学习光流的时间信息与原始帧的视觉数据之间的关联。与机器学习算法相似,将参与者数据与视频相结合的所有方法的效果都比不包含视频的方法差,从而得出与前面讨论的结论相同的结论。因此,在我们的研究中,与使用视频数据相比,无论使用哪种算法,添加患者数据都不会改善结果。如果这些发现也适用于其他患者数据,则需要进一步调查。


最佳性能的方法是使用步长为1或10的通道级灰度方法和密集光流方法之间的紧密联系。Channel-wise Greyscale方法的MAE为8.786,比性能最佳的经典机器学习算法的MAE低两点(请参见表2)。两种密集光流方法的性能与逐通道灰度方法相同,但使用的图像大小仅为十分之一,这使它们更快且对计算资源的需求更少。


重要的是要指出,分析中使用的250帧是在整个视频长度中均匀地提取的。这意味着,如果经过一定时间后精子活力明显降低,则该算法将予以考虑。由于深度学习方法优于所有经典的机器学习方法,因此结果也支持此假设。这是此处介绍的基于深度学习的方法的优点之一。


就分析所需的时间而言,所有提出的方法都会在五分钟内执行预测,包括花费大部分时间进行数据准备。这比手动进行精子活力评估要快得多。经典机器学习方法的训练速度更快,但是就模型的应用而言,其速度与深度学习方法相当。


结论与期待



总体而言,我们的结果表明,深度学习算法具有一致且高效地预测精子活动能力的潜力。与仅使用视频数据相比,将视频数据与参与者数据相结合的多峰分析方法不能改善对精子运动性的预测。但是,使用其他参与者数据进行多峰分析可能会改善预测。我们的结果表明,深度学习模型可以将时间纳入其分析中,因此比传统的机器学习算法能够更好地预测运动性值。将来,基于深度学习的方法可以用作人类精液分析的有效支持工具。提出的方法可以轻松地应用于其他相关评估,例如自动评估精子形态。


有效地分析长视频是一个挑战,未来的工作应集中在如何结合时间,影像和患者数据的不同方式上。本研究中使用的数据集也被公开共享,以确保结果的可比性和可重复性。此外,我们希望这项工作中描述的方法将启发男性生殖领域内自动分析的进一步发展。


论文地址:

https://arxiv.org/pdf/1910.13327v1.pdf

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码