【iOS学习】八、JSON数据学习

一、JSON数据简介

   JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, 易于人阅读和编写,同时也易于机器解析和生成。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。 JSON只包含有限几种基础对象,用于表示来自服务器的模型对象,例如数组、字典、字符串和数字。数组可能包含多个字符串、数字、字典或其他数组;而字典则可能包含多个键-值对,其中键是字符串,而值可能是字符串、数字、数组或其他字典。每个JSON文件都是由这些基础对象嵌套组合而成的。这些特性使JSON成为理想的数据交换语言。
   JSON有两种表示结构,对象和数组:
   <1>对象结构以“ { ”大括号开始,以" } "大括号结束。示例如下:
    {
           "name" : "Gary",
           "age" : "22",
           "hobbies" : ["football","dota"],
           "address" : {
                       "country" : "China",
                       "city" : "Beijing"
           }
    }
<2>数组结构以" [ "开始以" ] "结束。示例如下:
[
    {
        key1:value1,
        key2:value2 
    },
    {
         key3:value3,
         key4:value4   
    }
]

二、字符串、json字符串、json对象

<1>字符串:这个很好解释,指使用“”双引号或’’单引号包括的字符。例如:var comStr = ‘this is string’;
<2>json字符串:指的是符合json格式要求的js字符串。例如:var jsonStr = “{ID:’100’,Name:’gary’}”;
<3>json对象:指符合json格式要求的js对象。例如:var jsonObj = { ID: “100”, Name: “gary” };

三、在JS下使用JSON

JSON是JS的一个子集,所以可以在JS中轻松地读,写JSON。读和写JSON都有两种方法,分别是利用”.”操作符和“[key]”的方式。
我们首先定义一个JSON对象,代码如下。

var obj = {
            1: "value1",
            "2": "value2",
            count: 3,
            person: [ //数组结构JSON对象,可以嵌套使用
                        {
                            id: 1,
                            name: "张三"
                        },
                        {
                            id: 2,
                            name: "李四"
                        }
                   ],
            object: { //对象结构JSON对象
                id: 1,
                msg: "对象里的对象"    
            }
        };

<1>从json中读数据

function ReadJSON() {
            alert(obj.1); //会报语法错误,可以用alert(obj["1"]);说明数字最好不要做关键字
            alert(obj.2); //同上

            alert(obj.person[0].name); //或者alert(obj.person[0]["name"])
            alert(obj.object.msg); //或者alert(obj.object["msg"])
        }

<2>向JSON中写数据

function Add() { 
            //往JSON对象中增加了一条记录
            obj.sex= "男" //或者obj["sex"]="男"
        }

<3>修改JSON中的数据

function Update() {
            obj.count = 10; //或obj["count"]=10
        }

<4>删除JSON中的数据

function Delete() {
            delete obj.count;
        }

<5>遍历JSON中的数据

function Traversal() {
            for (var c in obj) {
                console.log(c + ":", obj[c]);
            }
        }

四、在iOS中解析JSON数据

Apple提供了专门用于解析JSON数据的类:NSJSONSerialLization。
NSJSONSerialLization可以讲JSON数据中的对象转换为对应的Objective-C对象——字典转换为NSDictionary对象;数组转换为NSArray对象;字符串转换为NSString对象;数字转换为NSNumber对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值