- function jsontest()
- {
-
var json = [{'username':'张三','userage':'20'},{'username':'李四','userage':'30'}];
- alert(json[1].username);
-
-
var json2 = [['张三','20'],['李四','30']];
- alert(json2[0][0]);
- }
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精简了很多。
这是 JavaScript 的json 格式。
下面我们来看看php 与json格式。
先来看一段代码
- $arr = array (
-
array (
-
'catid' => '4',
-
'catname' => '招聘信息',
-
'meta_title' => '招聘信息标题'
- ),
-
-
array (
-
'catid' => '55',
-
'catname' => 'php教程',
-
'meta_title' => 'php教程标题',
- )
- );
-
$jsonstr = json_encode($arr);
-
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 格式 。
这段代码会输出
- [{"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 文件
代码如下:
- <?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
$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 文件
代码如下:
- <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>
<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解码器等。通过设置并发级别,你可以控制同时处理多少个JSON对象,从而平衡...
**Go-JSON流编辑器命令行工具** Go-JSON流编辑器是一款强大的命令行工具,专为处理JSON数据流而设计。它利用了Go语言的高效性能和对命令行界面的良好支持,使得开发者能够轻松地在终端中进行JSON数据的过滤、转换和...
`json-stream-to-object`是一个JavaScript库,专门用于将JSON流解析为可操作的对象。在JavaScript中,数据流(Stream)是一种处理大量数据的有效方式,特别是当数据来自网络、文件系统或其他I/O源时。流允许数据分块...
JSONMachine是一个专为PHP开发设计的轻量级工具,它主要功能是处理JSON流数据,提供了高效、便捷的解析方式。在处理大量JSON数据时,流解析器的优势在于它可以逐行或逐块读取数据,而不需要一次性加载整个文件到内存...
本教程将深入探讨如何在JavaScript中检测并修复格式错误的JSON流。 1. JSON语法基础 JSON的基本结构是键值对,它遵循以下规则: - 键必须用双引号包围。 - 值可以是字符串、数字、布尔值、数组、对象或null。 -...
jsonstreamingparser, 在PHP中,一个JSON流解析器实现 面向PHP的流解析器 这是一个简单的流解析器,用于处理大型JSON文档。 用它来解析非常大的JSON文档以避免将整个事件...有关更多细节,我已经编写了对 JSON流解析器
ndjson-cli, 在换行的JSON流上,用于操作的命令行 工具 ndjson-cli用于操作的unix y 工具分隔 JSON 流。npm install ndjson-cli 命令行 参考选项ndjson-cat - 连接值以形成流ndjson过滤器 - 过滤器值n
例如,Java的Jackson库提供了JsonFactory来创建JSON输入和输出流,而Python的ijson库则支持逐项解析大型JSON流,避免一次性加载整个文件到内存。 在处理JSON文件时,还需要注意以下几点: 1. JSON对象的键必须是...
json流Java的JSON流库该库允许即时解析JSON输入,而无需为最大可能的输入分配内存。 使用方法: JSONStream stream = new JSONStream (); 接收到每个字符后(例如,通过HTTP连接): stream . accept(ch) 处理完所有...
这是Jackson框架的基础,提供基本的JSON流处理API,包括读写JSON令牌流的能力。它不涉及Java对象的映射,仅处理JSON的原始字节或字符流。 2. **Jackson数据绑定模块** (`jackson-databind`): 这个模块提供了将...
PHP JSON组件 该项目是针对PHP的几个非常不错的JSON库的重写后的分支: -Json流解析器 -Json Stream WriterJSON编写器有一个使用JSON Writer导出产品目录的示例 $ fh = fopen ( $ filename , "w" );$ writer...
`jackson-core`提供了基本的JSON流处理API,`jackson-databind`则提供了将Java对象映射到JSON和反向映射的功能,而`jackson-annotations`包含了一些常用的注解,用于自定义序列化和反序列化过程。 Gson是Google提供...
它包括三个主要模块:jackson-databind(用于将Java对象绑定到JSON)、jackson-core(基础JSON流处理API)和jackson-annotations(注解支持)。 2. **Gson**:Google开发的Gson库可以直接将Java对象转换为JSON字符...
它之所以快速,是因为它避免了解析无关的secti JSON流编辑器。JJ是一个命令行实用程序,它提供了一种快速,简单的方法来从JSON文档中检索或更新值。 它由引擎盖下的GJSON和SJSON提供支持。 之所以快,是因为它避免了...
它支持JSON流处理,适合大型或复杂的数据处理。 6. `Jackson`库:另一个流行的JSON处理库,提供了多种API,如`ObjectMapper`,可以方便地进行JSON与Java对象之间的映射。 "To-json-dataVisual.jar"可能包含以下...
`jackson-core`提供了基本的JSON流处理API,`jackson-databind`负责映射JSON到Java对象和反之,`jackson-annotations`包含了一些注解,这些注解用于定制序列化和反序列化过程。 2. **Spring MVC配置**:在Spring ...
使用 javascript 过滤 JSON 流。 $ echo ' {"event":true}{"event":1}{} ' | filter " if (j.event) return j " { " event " :true} { " event " :1} 安装 $ go get github.com/segmentio/filter 用法 Usage: ...
7. JSON流处理: - 对于大数据量的JSON,使用流处理可以提高性能。如Jackson的`JsonParser`和`JsonGenerator`可以实现JSON的流式读写。 在实际开发中,根据项目需求和性能要求,选择合适的JSON工具类是非常重要的...
- JSON流处理:处理JSON数据流,逐个读取或写入JSON元素。 - JSON映射:根据Java类结构自动生成对应的JSON结构,反之亦然。 - JSON验证:检查JSON数据是否符合指定的模式或规范。 在实际项目中,你需要根据具体需求...
此外,除了手动解析和构建JSON,Delphi还提供了便利的JSON流服务(TJSONStreamer),可以将Delphi的记录、类等数据类型直接序列化为JSON字符串,或者反序列化JSON字符串为Delphi对象。 在压缩包子文件的文件名称...