json - 将复杂类实例序列化为 NetworkX 中的节点
问题描述
业余爱好者,请耐心等待!
前言:
我有一个 networkX 图,其中所有节点都是一个类或其某个子类的实例。IE:
class Qnode:
def __init__(self, **atts)
...
Etc.
G = nx.graph()
G.add_node(Qnode(**atts))
我有兴趣序列化我的图表,以便将其发送给其他人。目前我认为最好的方法是使用 adjacency_data()
一个简单的例子:
from networkx.readwrite import json_graph
simple = nx.Graph([(1, 2)])
data = json_graph.adjacency_data(simple)
print(data)
>>> {'directed': False, 'multigraph': False, 'graph': [], 'nodes': [{'id': 1}, {'id': 2}], 'adjacency': [[{'id': 2}], [{'id': 1}]]}
然后可以将其转储到 JSON 对象中。
当我为我的 qnode 对象图执行此操作时,它似乎正确序列化,但将我的值写为指向我的 Qnodes 的指针,这对接收方没有用。
我的 qNode 对象作为 networkx 节点的单节点图示例:
{'directed': False, 'multigraph': False, 'graph': [], 'nodes': [{'id': <Node.Qnode object at 0x7fadeedbcda0>}
主要问题::
什么是我解压缩对象的最简单方法,以便我可以在不引用指针的情况下发送所有内容?提前致谢!
解决方案
推荐阅读
- image - 从旧硬盘中检索 docker 镜像
- c# - MySQL C# Query using MySql.Data.MySqlClient::MySqlCommand 字符串格式问题
- c - 如何“丢弃”换行符?
- window - 如何查看或打开 Microsoft Windows 8 AMCache Registry Hive?
- reactjs - 选择后如何将图像/视频上传到 S3?
- gmail-api - 使用 Gmail API 线程 ID 链接到特定线程
- sql - 使用多个联接时如何调整左联接和子查询以修复不正确的 SUMS
- ruby-on-rails - 在控制器中找不到Rails 5自定义模块功能
- java - 为什么 Jackson XML 反序列化不尊重任何注释?
- amazon-web-services - 如何将beantalk应用程序连接到rds数据库