Maison  >  Article  >  développement back-end  >  Méthode d'analyse du robot 1 : analyse JOSN

Méthode d'analyse du robot 1 : analyse JOSN

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼avant
2019-06-05 11:14:324930parcourir

De nombreuses langues ​​​​peuvent explorer, mais les robots basés sur python sont plus concis et pratiques. Les robots d’exploration sont également devenus un élément essentiel du langage Python. Il existe de nombreuses façons pour les robots d'analyse d'analyser les données. Dans l'article précédent, je vous ai présenté Quels types de données les robots d'exploration peuvent-ils obtenir et les méthodes d'analyse spécifiques, Cet article vous propose l'analyse JSON.

Méthode danalyse du robot 1 : analyse JOSN

JSON

json est simplement un objet et un tableau en JavaScript, donc ces deux structures sont des objets et des tableaux Structure, via ces deux structures diverses structures complexes peuvent être représentées.

Objet :

l'objet est représenté en js comme le contenu entouré de { }, et la structure des données est { clé : valeur, clé : valeur, ... } La structure des paires clé-valeur. Dans les langages orientés objet, la clé est l'attribut de l'objet et la valeur est la valeur de l'attribut correspondante, elle est donc facile à comprendre. La méthode value est object.key pour obtenir la valeur de l'attribut. . Le type de cette valeur d'attribut peut être un nombre, des chaînes, des tableaux, des objets.

Array :

Array en js est le contenu entouré de crochets [ ], et la structure des données est ["Python", "javascript", "C++" , ...], la méthode d'acquisition de valeur est la même que dans toutes les langues, en utilisant l'index pour obtenir, le type de valeur du champ peut être des nombres, des chaînes, des tableaux, des objets.

JSON (JavaScript Object Notation) est un format d'échange de données léger qui facilite la lecture et l'écriture par les utilisateurs. Il facilite également l’analyse et la génération des machines. Il convient aux scénarios d'interaction de données, tels que l'interaction de données entre le front et le backend d'un site Web.

import json
def resolveJson(path):
    file = open(path, "rb")
    fileJson = json.load(file)
    field = fileJson["field"]
    futures = fileJson["futures"]
    type = fileJson["type"]
    name = fileJson["name"]
    time = fileJson["time"]
    return (field, futures, type, name, time)
def output():
    result = resolveJson(path)
    print(result)
    for x in result:
        for y in x:
            print(y)
path = r"C:\Users\dell\Desktop\kt\test.json"
output()

Notez que lorsque la fonction renvoie plusieurs valeurs, elle renvoie un tuple

Lors de l'exécution d'une boucle for sur une chaîne, chaque caractère sera parcouru

Python JSON

Dans ce chapitre, nous présenterons comment utiliser le langage Python pour encoder et décoder des objets JSON.

JSON (JavaScript Object Notation) est un format d'échange de données léger, facile à lire et à écrire pour les humains.

Fonction JSON

L'utilisation de la fonction JSON nécessite d'importer la librairie json : import json.

Fonction                                                                                                                                                                                                                                d Chaîne JSON dans un objet Python

json.dumps

json.dumps est utilisé pour encoder des objets Python dans Chaînes JSON.

Syntaxe

json.dumps(obj, skipkeys=False, Ensure_ascii=True, check_circular=True, Allow_nan=True, cls=None, indent=None, séparateurs =Aucun, encoding="utf-8", default=Aucun, sort_keys=False, **kw)

Exemple

L'exemple suivant encode le tableau en JSON formater les données :

#!/usr/bin/python
import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = json.dumps(data)
print json
Le résultat de l'exécution du code ci-dessus est :

[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]

Utiliser les paramètres pour formater les données JSON pour la sortie :

>>> import json
>>> print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': '))
{
    "a": "Runoob",
    "b": 7
}

Comparaison de conversion de l'original python tapez en json tapez Table :


Python                                           objet

liste, chaîne de tuple

int, long, flottant 🎜>False                                                                                                                                                                                  parce que faux

None                                                 null

json.loads

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

实例

以下实例展示了Python 如何解码 JSON 对象:

<pre class="brush:php;toolbar:false">
#!/usr/bin/python
import json
jsonData = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;;
text = json.loads(jsonData)
print text

以上代码执行结果为:

{u&#39;a&#39;: 1, u&#39;c&#39;: 3, u&#39;b&#39;: 2, u&#39;e&#39;: 5, u&#39;d&#39;: 4}

json 类型转换到 python 的类型对照表:

JSON                                 Python

object                                  dict

array                                     list

string                                unicode

number (int)                     int, long

number (real)                       float

true                                      True

false                                     False

null                                       None

使用第三方库:Demjson

Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。

Github 地址:https://github.com/dmeranda/demjson

官方地址:http://deron.meranda.us/python/demjson/

环境配置

在使用 Demjson 编码或解码 JSON 数据前,我们需要先安装 Demjson 模块。本教程我们会下载 Demjson 并安装:

$ tar -xvzf demjson-2.2.3.tar.gz
$ cd demjson-2.2.3
$ python setup.py install

JSON 函数

函数                                                    描述

encode                         将 Python 对象编码成 JSON 字符串

decode                         将已编码的 JSON 字符串解码为 Python 对象

encode

Python encode() 函数用于将 Python 对象编码成 JSON 字符串。

语法

demjson.encode(self, obj, nest_level=0)


实例

以下实例将数组编码为 JSON 格式数据:

<pre class="brush:php;toolbar:false">
#!/usr/bin/python
import demjson
data = [ { &#39;a&#39; : 1, &#39;b&#39; : 2, &#39;c&#39; : 3, &#39;d&#39; : 4, &#39;e&#39; : 5 } ]
json = demjson.encode(data)
print json

以上代码执行结果为:

[{"a":1,"b":2,"c":3,"d":4,"e":5}]


decode

Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。

语法

demjson.decode(self, txt)

实例

以下实例展示了Python 如何解码 JSON 对象:

<pre class="brush:php;toolbar:false">
#!/usr/bin/python
import demjson
json = &#39;{"a":1,"b":2,"c":3,"d":4,"e":5}&#39;;
text = demjson.decode(json)
print  text

以上代码执行结果为:

{u&#39;a&#39;: 1, u&#39;c&#39;: 3, u&#39;b&#39;: 2, u&#39;e&#39;: 5, u&#39;d&#39;: 4}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer