如何将networkx(python)节点序列化为JSON格式?

3

我有一个networkx图形,我想通过使用json格式将节点(包括其属性)发送到连接。我知道如何序列化整个图形:

import networkx as nx
from networkx.readwrite import json_graph
G=nx.Graph()
G.add_node(1)
G.node[1]["name"]="alice"
G.add_node(2)
G.add_edge(1,2)
print json.dumps(json_graph.node_link_data(G))

然而,我没有找到一种序列化单个节点的方法,类似于:
print json.dumps(json_graph.node_data(G.node[1]))

有没有实现这个的方法?

在我看来,这是可行的。当您尝试发送此数据时,是否遇到了错误? - inspectorG4dget
1个回答

3

您可以对节点或元组 (node,data) 调用 json.dumps()。对边也是同样适用的。例如:

In [1]: import networkx as nx

In [2]: G=nx.Graph()

In [3]: G.add_node(1,color='red',size=75)

In [4]: G.add_node(2,color='blue',size=33)

In [5]: import json

In [6]: json.dumps(G.nodes(data=True))  # all nodes
Out[6]: '[[1, {"color": "red", "size": 75}], [2, {"color": "blue", "size": 33}]]'

In [7]: json.dumps((1,G.node[1])) # (node, data) tuple
Out[7]: '[1, {"color": "red", "size": 75}]'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接