首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json文本拆分表达式或解析器

json文本拆分表达式或解析器
EN

Stack Overflow用户
提问于 2011-05-23 16:09:19
回答 2查看 488关注 0票数 0
代码语言:javascript
复制
$var ="
   { 
        key : { 
            key_deep :  val\{ue   /* should be "val{ue" as { is escaped  */
        } , 
        key2 : value
    }

";
print_r(preg_split('//',$var));
// array( 
//    array( 
//       'key'=> array(
//           'key_deep'=> 'val{ue'
//        )
//    ), 
//    array('key2'=>'value')
// );

是否有正则表达式在php中使用preg_split将其拆分?

基本上,我需要与json_decode()相同的内容,但是不需要上的引号,valuekey都需要,唯一转义的是四个字符\{ \, \} \:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-23 16:42:11

考虑到这里可能出现的任意嵌套,您可能希望查看解析器而不是正则表达式。

尝试:

ParserGenerator/重定向

http://www.hwaci.com/sw/lemon/

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=php+parser+generator

票数 2
EN

Stack Overflow用户

发布于 2011-05-23 16:11:39

首先,json是不正确的,它会在json_decode上抛出一个错误。

阅读json 这里的规范

json的一个正确实现是:

代码语言:javascript
复制
$var ='
   { 
        "key" : { 
            key_deep :  "val\{ue" 
        } , 
        "key2" : "value"
   }
';

另外,json_decode永远不会产生Array,除非添加true参数,否则会产生object(stdClass)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6099891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档