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

标签 python json serialization nodes networkx

我有一个 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]))

有什么办法可以实现吗?

最佳答案

您可以在节点或 (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}]'

关于python - 如何将 networkx (python) 节点序列化为 json 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13515644/

相关文章:

python - 在 matplotlib 中绘制多个 y 轴和颜色条

python - 随机分割数据帧(取决于唯一值)

json - Node.JS:如何抓取 json 页面以获取特定数据

javascript - 如何从数组形成嵌套的 JSON 对象?

hadoop - HDFS上非结构化数据行的数据存储格式

java - 如何将 Java ZonedDateTime 序列化为 XML 文件

python - fbchat Python库灌输错误

python - 将 CudaNdarraySharedVariable 转换为 TensorVariable

javascript - 计算 JSON 数组中的对象对

c# - 序列化时间太长