什么事JSON格式:看了半天也没看明白到底什么事json。看老师写的代码感觉就是拼接字符串,没什么特点呀?

什么事JSON格式:看了半天也没看明白到底什么事json。看老师写的代码感觉就是拼接字符串,没什么特点呀?,第1张

Json可以理解成一种数据规范。你按json格式来组装数据,在任意地方都可以按照json格式再来解析之前组装好后传递过来的数据。我个人理解,json就是两种东西,数组“[]”和对象"{}"。数组“[]”中存放任意元素,可以是数字、字符串、json对象等等。json对象里面就是存放的值对(每个值对即为一个key对应一个value,这个value可以是一个字符串、json数组、json对象等),比如:

{‘userId’ : '10001', ‘userName’ : '张三'}

这个json对象是把用户对象抽象出来了,key :userId 、userName 分别代表用户对象的两个属性用户id和用户姓名;value: '10001'、'张三'则分别表示改用户对象的userId和userName属性的值,而Json数组“[]”可以存放N个这样的json对象,比如:

[

{‘userId’ : '10001', ‘userName’ : '张三'},

{‘userId’ : '10002', ‘userName’ : '李四'},

{‘userId’ : '10003', ‘userName’ : '王五'},

]

上面这个Json数组就可以理解成3个用户对象的集合,这样的话我们在任何需要的地方都可以把这个Json数组按照Json格式解析成我们需要的用户数据。

json说白了就是个字符串呗。

原来用servlet怎么接受字符串参数,就怎么接受json。

只不过这个json串一定要解析才能拿到想要的数据。

处理完后再生成一个json串用writer也好,跳转页面也好,总之把json输出就算返回了。

处理json你可以不必自己写代码,从网上找个json的工具包就可以,推荐jackson

C#读写txt文件的两种方法:

1添加命名空间

  SystemIO;

  SystemText;

2文件的读取

  (1)使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。

byte[] byData = new byte[100];

char[] charData = new char[1000];

public void Read()

{

try

{

FileStream file = new FileStream("E:\\testtxt", FileModeOpen);

fileSeek(0, SeekOriginBegin);

fileRead(byData, 0, 100); //byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符

Decoder d = EncodingDefaultGetDecoder();

dGetChars(byData, 0, byDataLength, charData, 0);

ConsoleWriteLine(charData);

fileClose();

}

catch (IOException e)

{

ConsoleWriteLine(eToString());

}

}

  (2)使用StreamReader读取文件,然后一行一行的输出。

public void Read(string path)

{

StreamReader sr = new StreamReader(path,EncodingDefault);

String line;

while ((line = srReadLine()) != null)

{

ConsoleWriteLine(lineToString());

}

}

3文件的写入

  (1)使用FileStream类创建文件,然后将数据写入到文件里。

public void Write()

{

FileStream fs = new FileStream("E:\\aktxt", FileModeCreate);

//获得字节数组

byte[] data = SystemTextEncodingDefaultGetBytes("Hello World!");

//开始写入

fsWrite(data, 0, dataLength);

//清空缓冲区、关闭流

fsFlush();

fsClose();

}

  (2)使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件。

public void Write(string path)

{

FileStream fs = new FileStream(path, FileModeCreate);

StreamWriter sw = new StreamWriter(fs);

//开始写入

swWrite("Hello World!!!!");

//清空缓冲区

swFlush();

//关闭流

swClose();

fsClose();

}

将json对象返回页面。页面解析

如页面拿到var test = {name:"123",script:"alert('123')"}的json对象。

然后解析出脚本testscript;

调用js的eval()方法执行。--------eval(testscript);

1>jQuery插件支持的转换方式:

复制代码代码如下:

$parseJSON( jsonstr ); //jQueryparseJSON(jsonstr),可以将json字符串转换成json对象

2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

复制代码代码如下:

JSONparse(jsonstr); //可以将json字符串转换成json对象

JSONstringify(jsonobj); //可以将json对象转换成json对符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入jsonjs。

3>Javascript支持的转换方式:

eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号

注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。

4>JSON官方的转换方式:

http://wwwjsonorg/提供了一个jsonjs,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;

可以在https://githubcom/douglascrockford/JSON-js上获取到这个js,一般现在用json2js。

<script src="js的地址"></script>

或者

<script>js代码</script>

html的head或者body里写上以上代码

json并不是一段可以运行的js代码而是用javascript书写的一种数据内容的格式, 也就是仅仅是保存了一些数据而已, 拿到这段数据之后想做什么还得写出特定的js来读取/显示等等

然后如果你是拿到一个其它网站上的json地址想把里头的东西输出在自己的页面上的话, 还要考虑一个"跨域"的问题, 即浏览器出于安全并不允许一个页面用常规方式(ajax)请求另外一个域名不同的地址, 可以搜一下"Jquery跨域获得Json"

欢迎分享,转载请注明来源:表白网

原文地址:https://h5.hunlipic.com/biaobai/4055855.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-04-12
下一篇2024-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存