Skip to content

json.decoder.JSONDecodeError when viewing an entity #333

@DaniDragon

Description

@DaniDragon

I am working through the Les Mis tutorial and am browsing the knowledge graph as shown here: https://whyis.readthedocs.io/en/latest/gettingstarted.html#search-and-browse-the-knowledge-graph

When I search for "Cosette" the search by does auto-complete, but when I click on it I get the following error:

127.0.0.1 - - [04/Sep/2025 16:14:31] "GET /about?view=view&uri=wd%3AQ2453276 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/decorator/conditional_login_required.py", line 16, in decorated_view
    return func(*args, **kwargs)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/blueprint/entity/get_entity.py", line 52, in view
    return current_app.render_view(resource)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/app.py", line 889, in render_view
    return render_template(views[0]['view'].value, **template_args), 200, headers
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/templating.py", line 137, in render_template
    return _render(
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/flask/templating.py", line 120, in _render
    rv = template.render(context)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/jinja2/environment.py", line 1090, in render
    self.environment.handle_exception()
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/jinja2/environment.py", line 832, in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/jinja2/_compat.py", line 28, in reraise
    raise value.with_traceback(tb)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/templates/resource_view.html", line 100, in top-level template code
    <md-button href="{{url_for('entity.view', uri=rdflib.URIRef(item.target))}}" class="md-button-icon">Download</md-button>
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/templates/base_vue.html", line 131, in top-level template code
    {% endif %}
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/templates/base_vue.html", line 246, in block "body"

  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/templates/resource_view.html", line -28, in block "content"
    <div class="md-title">{{item.source_label}}</div>
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/site-packages/whyis/filters.py", line 127, in fromjson
    return json.loads(json_text)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/home/villad4/miniforge3/envs/whyis/lib/python3.10/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 2 (char 2)

If anyone has any ideas for what could be causing this error please let me know!

These are the versions of whyis and python that I'm using:
whyis version: 2.3.20
python version: 3.10.18

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions