我正在使用google Gson库解析JSON文件,这是ipython笔记本文件。是否可以收集JSON对象或数组开始或结束的行号。
JsonReader reader = new JsonReader(new FileReader(notebookFile));
Gson gson = new GsonBuilder().create();
// Read file in stream mode
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("cells")) {
//can we determine line number of name
reader.beginArray();
.....
}
....
}
笔记本的一部分:
"metadata": {
"name": "5-Scatterplots"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"store = pd.HDFStore('/Volumes/FreshBooks/data/store.h5')\n",
"may07 = store['may07']\n",
"may08 = store['may08']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
2条答案
按热度按时间jexiocij1#
您可以在python中使用https://pypi.org/project/json-cfg/来完成此操作。
下面是一个递归策略,用于打印每个键和每个值的行号。
结果截图
gkl3eglg2#
充分披露:我是以下软件包的维护者。
现在有一个新的Python包可以解决这个用例:https://github.com/open-alchemy/json-source-map
安装方式:
pip install json_source_map
例如,在您的案例中:
这将打印:
这将告诉您JSON文档中每个值的开始和结束位置的行、列和字符位置。