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

爱喝马黛茶的安东尼
Libérer: 2019-06-05 14:36:14
avant
4875 Les gens l'ont consulté

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()
Copier après la connexion

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
Copier après la connexion
Le résultat de l'exécution du code ci-dessus est :

[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]
Copier après la connexion

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
}
Copier après la connexion

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]]]]]]]])
Copier après la connexion

实例

以下实例展示了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
Copier après la connexion

以上代码执行结果为:

{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}
Copier après la connexion
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

以上代码执行结果为:

[{"a":1,"b":2,"c":3,"d":4,"e":5}]
Copier après la connexion


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
Copier après la connexion

以上代码执行结果为:

{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}
Copier après la connexion
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!