我正在访问一个返回json的服务,如下所示:
{
"A":"A value",
"B":{
"B1":"B1 value",
"B2":"B2 value"
},
"C":{
"c_url":"http:\/\/someurl:someport\/somefolder\/somefile",
}
}
我想做的是解析这个json并在键值对中获取文件夹的url和某个文件部分。
因此,本质上,在我的脚本处理完json之后,它将以某种分隔方式在文件中输出url和somefile。
文件处理上述提供的 json 后,输出为:
url: http://someurl:someport/somefolder/somefile
file: somefile
我很确定python中有很多json解析器可以解析json,但是我该如何处理已经用转义符预处理过的url字符串呢?我是否需要编写自己的url编码器来去除url字符串中的转义字符?
此外,我需要对url的各个部分进行标记,以到达“文件”部分,有没有什么库可以帮助我?
谢谢
您的示例JSON在“c_url”k-v对之后不需要逗号。
>>> import json
>>> st = '{"A":"A value","B":{ "B1":"B1 value", "B2":"B2 value" },"C":{ "c
_url":"http:\/\/someurl:someport\/somefolder\/somefile" }}'
>>> json.loads(st)
{u'A': u'A value', u'C': {u'c_url': u'http://someurl:someport/somefolder/somefile'}, u'B': {u'B1': u
'B1 value', u'B2': u'B2 value'}}
要获取URL的“somefile”部分:
url.split('/')[url.count('/')]
因此,根据http://www.quora.com/Why-does-the-cjson-Python-module-not-correctly-unescape-reverse-solidus-solidus
< code>simplejson应该能够处理这种“有问题的”转义算法。考虑:
#!/usr/bin/env python
import simplejson
print simplejson.loads('"http:\/\/someurl:someport\/somefolder\/somefile"')
请注意,simplejson
不是标准包,而是可以通过easy_install
安装的。
样本输出:
[85][23:35:24] vlazarenko@alluminium (~/tests) > python unescape.py
http://someurl:someport/somefolder/somefile
问题内容: 有时候,当我从文件或用户那里得到输入时,我会得到一个带有转义序列的字符串。我想以与Python处理字符串文字中的转义序列相同的方式来处理转义序列。 例如,假设myString定义为: 我想要一个process执行此操作的函数(我称之为): 该函数可以处理Python中的所有转义序列(在上面的链接的表格中列出),这一点很重要。 Python是否具有执行此操作的功能? 问题答案: 正确的做
本文向大家介绍如何在Python中处理字符串中的转义序列?,包括了如何在Python中处理字符串中的转义序列?的使用技巧和注意事项,需要的朋友参考一下 有两种方法可以在Python中转义反斜杠转义的字符串。首先是使用literal_eval评估字符串。请注意,在此方法中,您需要将字符串用另一层引号引起来。例如: 另一种方法是使用字符串类中的decode('string_escape')方法。例如,
问题内容: 我有以下要发送到NodeJS服务器的JSON字符串: 当字符串包含字符和 在NodeJS服务器上,我正在像这样解析JSON: 有什么想法我可以设法毫无问题地发送所有字符吗? 问题答案: 我会使用一个库来为您创建JSON 。一些选项是: GSON 克罗福德的解放 这将使转义变得更加容易。一个示例(使用)为:
在 Bash 脚本中可以调用字符串处理工具 awk 来替换内置的字符串处理操作。 样例 10-6. 使用另一种方式来截取和定位子字符串 #!/bin/bash # substring-extraction.sh String=23skidoo1 # 012345678 Bash # 123456789 awk # 注意不同字符串索引系统: # Bash 中第一个字符
问题内容: 我正在使用Python 2.6.5。我的代码要求使用“大于或等于”符号。它去了: 为什么会出现此错误?有正确的方法吗?我需要使用该功能。 问题答案: 只需将第二个字符串也设为unicode字符串
本文向大家介绍Python中处理字符串之isalpha()方法的使用,包括了Python中处理字符串之isalpha()方法的使用的使用技巧和注意事项,需要的朋友参考一下 isalpha()方法检查字符串是否仅由字母组成。 语法 以下是islpha()方法的语法: 参数 NA 返回值 如果字符串中的所有字符字母和至少有一个字符此方法返回true,否则返回false。 例子 下面的例子显示