python中json库作用_在没有JSON库的python中解析JSON对象(仅使用regex)

使用函数式解析器库和一些正则表达式如何?在def parse(seq):

'Sequence(Token) -> object'

...

n = lambda s: a(Token('Name', s)) >> tokval

def make_array(n):

if n is None:

return []

else:

return [n[0]] + n[1]

...

null = n('null') >> const(None)

true = n('true') >> const(True)

false = n('false') >> const(False)

number = toktype('Number') >> make_number

string = toktype('String') >> make_string

value = forward_decl()

member = string + op_(':') + value >> tuple

object = (

op_('{') +

maybe(member + many(op_(',') + member)) +

op_('}')

>> make_object)

array = (

op_('[') +

maybe(value + many(op_(',') + value)) +

op_(']')

>> make_array)

value.define(

null

| true

| false

| object

| array

| number

| string)

json_text = object | array

json_file = json_text + skip(finished)

return json_file.parse(seq)

您将需要funcparserlib库来完成此操作。在

注意:仅使用纯正则表达式执行此操作太难了。您需要编写某种“解析器”,这样您就可以使用解析器库来帮助解决一些无聊的问题。在

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值