`

json流

    博客分类:
  • json
阅读更多
 
  1. function jsontest()   
  2. {   
  3.     var json = [{'username':'张三','userage':'20'},{'username':'李四','userage':'30'}];   
  4.     alert(json[1].username);   
  5.   
  6.     var json2 = [['张三','20'],['李四','30']];   
  7.     alert(json2[0][0]);   
  8. }  
function jsontest()
{
	var json = [{'username':'张三','userage':'20'},{'username':'李四','userage':'30'}];
	alert(json[1].username);

	var json2 = [['张三','20'],['李四','30']];
	alert(json2[0][0]);
}

这个函数,第一个alert(json[1].username); 会提示 “李四”。 json 变量是一个数组对象。所以要采用 obj.username 这样的格式来调用。

第二个 alert(json2[0][0]);  会提示 “张三”。 json2变量是完全的一个json格式。 json和json2变量都达到了相同的效果,但json2明显要比json精简了很多。

这是 JavaScriptjson 格式

下面我们来看看php 与json格式。

先来看一段代码

  1. $arr = array (   
  2.   array (   
  3.       'catid' => '4',   
  4.       'catname' => '招聘信息',   
  5.       'meta_title' => '招聘信息标题'  
  6.     ),   
  7.   
  8.     array (   
  9.       'catid' => '55',   
  10.       'catname' => 'php教程',   
  11.       'meta_title' => 'php教程标题',   
  12.     )   
  13. );   
  14. $jsonstr = json_encode($arr);   
  15. echo $jsonstr;  
$arr = array (
  array (
	  'catid' => '4',
	  'catname' => '招聘信息',
	  'meta_title' => '招聘信息标题'
	),

	array (
	  'catid' => '55',
	  'catname' => 'php教程',
	  'meta_title' => 'php教程标题',
	)
);
$jsonstr = json_encode($arr);
echo $jsonstr;

这段代码中,$arr是一个数组,我们采用 json_encode 将$arr 转换为了 json 格式 。

这段代码会输出

  1. [{"catid":"4","catname":"\u62db\u8058\u4fe1\u606f","meta_title":"\u62db\u8058\u4fe1\u606f\u6807\u9898"},{"catid":"55","catname":"php\u6559\u7a0b","meta_title":"php\u6559\u7a0b\u6807\u9898"}]  
[{"catid":"4","catname":"\u62db\u8058\u4fe1\u606f","meta_title":"\u62db\u8058\u4fe1\u606f\u6807\u9898"},{"catid":"55","catname":"php\u6559\u7a0b","meta_title":"php\u6559\u7a0b\u6807\u9898"}]

这就是php对于json数据的处理。

对于json数据,php 也可以采用 json_decode()函数将json数据转换成 数组 。

比如 上述代码中,我们采用json_decode函数处理下。又会打印出 上面的数组。

$jsonstr = json_encode($arr);
$jsonstr = json_decode($jsonstr);
print_r($jsonstr);

接下来,我们看看,php json数据和 js json数据如何相互调用。

我们新建一个 php_json.php 文件

代码如下:

  1.  <?php   
  2. $arr = array (   
  3.  array (   
  4.  'catid' => '4',   
  5.  'catname' => '招聘信息',   
  6.  'meta_title' => '招聘信息标题'  
  7.  ),   
  8.   
  9.  array (   
  10.  'catid' => '55',   
  11.  'catname' => 'php教程',   
  12.  'meta_title' => 'php教程标题',   
  13.  )   
  14. );   
  15. $jsonstr = json_encode($arr);   
  16. ?>   
  17. var jsonstr=<?=$jsonstr?>;  
 <?php
$arr = array (
 array (
 'catid' => '4',
 'catname' => '招聘信息',
 'meta_title' => '招聘信息标题'
 ),

 array (
 'catid' => '55',
 'catname' => 'php教程',
 'meta_title' => 'php教程标题',
 )
);
$jsonstr = json_encode($arr);
?>
var jsonstr=<?=$jsonstr?>;

补充下,在php_json.php文件末尾  var jsonstr=<?=$jsonstr?>;  这一句。 这是将json格式的数据赋值给 jsonstr 变量。
我们再建立一个 json.html 文件
代码如下:

  1. <script type="text/javascript" src="php_json.php"></script>   
  2. <script language="javascript" type="text/javascript">   
  3. function loadjson(_json)   
  4. {   
  5.  if(_json)   
  6.  {   
  7.  for(var i=0;i<_json.length;i++)   
  8.  {   
  9.  alert(_json[i].catname);   
  10.  }   
  11.  }   
  12. }    
  13.   
  14. loadjson(jsonstr)   
  15. </script>  
<script type="text/javascript" src="php_json.php"></script>
<script language="javascript" type="text/javascript">
function loadjson(_json)
{
 if(_json)
 {
 for(var i=0;i<_json.length;i++)
 {
 alert(_json[i].catname);
 }
 }
} 

loadjson(jsonstr)
</script>

这样,我们在查看 json.html的时候,loadjson(jsonstr) 就会 提示 “招聘信息”和“php教程”

这样也实现了js跨域调用。

分享到:
评论

相关推荐

    Go-xargs的JSON流

    `Go-xargs`库提供了一个方便的接口,使得处理JSON流变得简单而高效。 `Go-xargs`还支持一些高级特性,比如错误处理、并发控制、自定义JSON解码器等。通过设置并发级别,你可以控制同时处理多少个JSON对象,从而平衡...

    Go-JSON流编辑器命令行工具

    **Go-JSON流编辑器命令行工具** Go-JSON流编辑器是一款强大的命令行工具,专为处理JSON数据流而设计。它利用了Go语言的高效性能和对命令行界面的良好支持,使得开发者能够轻松地在终端中进行JSON数据的过滤、转换和...

    jsonstreamtoobject将JSON流解析为对象

    `json-stream-to-object`是一个JavaScript库,专门用于将JSON流解析为可操作的对象。在JavaScript中,数据流(Stream)是一种处理大量数据的有效方式,特别是当数据来自网络、文件系统或其他I/O源时。流允许数据分块...

    JSONMachine是一个快速高效且易于使用的JSON流解析器

    JSONMachine是一个专为PHP开发设计的轻量级工具,它主要功能是处理JSON流数据,提供了高效、便捷的解析方式。在处理大量JSON数据时,流解析器的优势在于它可以逐行或逐块读取数据,而不需要一次性加载整个文件到内存...

    修复格式错误的JSON流_JavaScript_下载.zip

    本教程将深入探讨如何在JavaScript中检测并修复格式错误的JSON流。 1. JSON语法基础 JSON的基本结构是键值对,它遵循以下规则: - 键必须用双引号包围。 - 值可以是字符串、数字、布尔值、数组、对象或null。 -...

    jsonstreamingparser, 在PHP中,一个JSON流解析器实现.zip

    jsonstreamingparser, 在PHP中,一个JSON流解析器实现 面向PHP的流解析器 这是一个简单的流解析器,用于处理大型JSON文档。 用它来解析非常大的JSON文档以避免将整个事件...有关更多细节,我已经编写了对 JSON流解析器

    ndjson-cli, 在换行的JSON流上,用于操作的命令行 工具.zip

    ndjson-cli, 在换行的JSON流上,用于操作的命令行 工具 ndjson-cli用于操作的unix y 工具分隔 JSON 流。npm install ndjson-cli 命令行 参考选项ndjson-cat - 连接值以形成流ndjson过滤器 - 过滤器值n

    json.rar_JSON_json 文件流_json文件_json转成流_流和json的转化

    例如,Java的Jackson库提供了JsonFactory来创建JSON输入和输出流,而Python的ijson库则支持逐项解析大型JSON流,避免一次性加载整个文件到内存。 在处理JSON文件时,还需要注意以下几点: 1. JSON对象的键必须是...

    json-stream:Java的JSON流库

    json流Java的JSON流库该库允许即时解析JSON输入,而无需为最大可能的输入分配内存。 使用方法: JSONStream stream = new JSONStream (); 接收到每个字符后(例如,通过HTTP连接): stream . accept(ch) 处理完所有...

    Json包及API Json工具包

    这是Jackson框架的基础,提供基本的JSON流处理API,包括读写JSON令牌流的能力。它不涉及Java对象的映射,仅处理JSON的原始字节或字符流。 2. **Jackson数据绑定模块** (`jackson-databind`): 这个模块提供了将...

    json-stream:JSON流读取器,写入器和解析器

    PHP JSON组件 该项目是针对PHP的几个非常不错的JSON库的重写后的分支: -Json流解析器 -Json Stream WriterJSON编写器有一个使用JSON Writer导出产品目录的示例 $ fh = fopen &#40; $ filename , "w" &#41;;$ writer...

    json必须的jar文件,用json传输的来看看

    `jackson-core`提供了基本的JSON流处理API,`jackson-databind`则提供了将Java对象映射到JSON和反向映射的功能,而`jackson-annotations`包含了一些常用的注解,用于自定义序列化和反序列化过程。 Gson是Google提供...

    Json所需驱动

    它包括三个主要模块:jackson-databind(用于将Java对象绑定到JSON)、jackson-core(基础JSON流处理API)和jackson-annotations(注解支持)。 2. **Gson**:Google开发的Gson库可以直接将Java对象转换为JSON字符...

    JSON流编辑器(命令行实用程序)-Golang开发

    它之所以快速,是因为它避免了解析无关的secti JSON流编辑器。JJ是一个命令行实用程序,它提供了一种快速,简单的方法来从JSON文档中检索或更新值。 它由引擎盖下的GJSON和SJSON提供支持。 之所以快,是因为它避免了...

    json格式转换包

    它支持JSON流处理,适合大型或复杂的数据处理。 6. `Jackson`库:另一个流行的JSON处理库,提供了多种API,如`ObjectMapper`,可以方便地进行JSON与Java对象之间的映射。 "To-json-dataVisual.jar"可能包含以下...

    springmvc对json支持

    `jackson-core`提供了基本的JSON流处理API,`jackson-databind`负责映射JSON到Java对象和反之,`jackson-annotations`包含了一些注解,这些注解用于定制序列化和反序列化过程。 2. **Spring MVC配置**:在Spring ...

    filter:使用 javascript 过滤 JSON 流

    使用 javascript 过滤 JSON 流。 $ echo ' {"event":true}{"event":1}{} ' | filter " if (j.event) return j " { " event " :true} { " event " :1} 安装 $ go get github.com/segmentio/filter 用法 Usage: ...

    Json的工具类压缩包

    7. JSON流处理: - 对于大数据量的JSON,使用流处理可以提高性能。如Jackson的`JsonParser`和`JsonGenerator`可以实现JSON的流式读写。 在实际开发中,根据项目需求和性能要求,选择合适的JSON工具类是非常重要的...

    java json 相关的所有jar包

    - JSON流处理:处理JSON数据流,逐个读取或写入JSON元素。 - JSON映射:根据Java类结构自动生成对应的JSON结构,反之亦然。 - JSON验证:检查JSON数据是否符合指定的模式或规范。 在实际项目中,你需要根据具体需求...

    DELPHI分解Json字符串控件

    此外,除了手动解析和构建JSON,Delphi还提供了便利的JSON流服务(TJSONStreamer),可以将Delphi的记录、类等数据类型直接序列化为JSON字符串,或者反序列化JSON字符串为Delphi对象。 在压缩包子文件的文件名称...

Global site tag (gtag.js) - Google Analytics