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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions