JSON & XML——网络数据格式

JSON
(1) 作为一种 轻量级 的数据交换格式,正在逐步取代 XML ,成为 网络数据的通用格式
(2) 基于 JavaScript 的一个子集
(3) 易读性略差,编码手写难度大,数据量小
(4) JSON 格式取代了 XML 给网络传输带来了很大的便利,但是却没有了 XML 的一目了然,尤其是 JSON 数据很长的时候,我们会陷入繁琐复杂的数据节点查找中
XML
n 可扩展标记语言
n 用于标记电子文件使其具有 结构性的标记语言 ,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言
n 易读性高,编码手写难度小, 数据量大


JSON格式说明

n 对象
n {}
n 格式 {key : value, key : value,...} 的键值对的结构
n 可以 反序列化 OC 中的 NSDictionary
n 数组
n []
n 格式 ["java"," javascript "," vb ",...]
n 可以 反序列化 OC 中的 NSArray
n
n 提示
n JSON 的数据格式与 OC 中的快速包装方法非常类似
n JSON 的数据格式同样支持嵌套
解析服务器端返回JSON数据
iOS 5开始,使用NSJSONSerializationJSON解析

其他常见的三种JSON解析第三方库:
SBJson  因为API简单易用,可能还会有一些应用中留存
JSONKit  JSONKit的开发者称:JSONKit的性能优于苹果
TouchJson

反序列化

[NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];


序列化

[NSJSONSerialization dataWithJSONObject:arrayoptions:0 error:NULL];





HTML
是用来描述网页的一种语言
HTML 指的是超文本标记语言 (Hyper TextMarkup Language)
HTML 不是一种编程语言,而是一种标记语言 (markuplanguage)
HTML 被设计用来显示数据
XML
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输和存储数据 ,而非显示数据
HTML5
强化了 Web 网页的表现性能
增加了用于绘画的 canvas 元素
用于媒介播放的 video audio 元素等
追加了本地数据库等 Web 应用的功能
广义论及 HTML5 时,是包括 HTML CSS JavaScript 在内的一套技术组合
希望能够减少浏览器对于需要插件的丰富性网络应用服务

NSXMLParser SAX 方法解析
SAX Simple API for XML
只能读,不能修改 ,只能顺序访问,适合解析大型 XML 解析速度快
常应用于处理大量数据的 XML ,实现异构系统的数据访问,实现跨平台
从文档的开始通过每一节点移动,定位一个特定的节点
DOM Document Object Model
不仅能读,还能修改 ,而且能够实现随机访问,缺点是 解析速度慢 ,适合解析小型文档
一般应用与小型的配置 XML ,方便操作
为载入到内存的文档节点建立类型描述,呈现可横向移动、潜在巨大的树型结构
在内存中生成节点树操作 代价昂贵

实例化 NSXMLParser 传入 从服务器接收的 XML 数据
定义解析器 代理
解析器 解析
通过解析代理方法完成 XML 数据的解析

// 1. 开始解析XML文档

- (void)parserDidStartDocument:

// 2. 开始解析某个元素,会遍历整个XML,识别元素节点名称

- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes:

// 3. 文本节点,得到文本节点里存储的信息数据,对于大数据可能会接收多次!为了节约内存开销

- (void)parser:foundCharacters:

// 4. 结束某个节点存储从parser:foundCharacters:方法中获取到的信息

- (void)parser:didEndElement:namespaceURI:qualifiedName:

注意:在解析过程中,234三个方法会不停的重复执行,直到遍历完成为止

// 5. 解析XML文档结束

- (void)parserDidEndDocument:

// 6. 解析出错

- (void)parser:parseErrorOccurred:





深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值