import json
response_message = {
'id': 'chatcmpl-9Iof6Uwf74o9N6uKsyxIVMFFIDJYC',
'object': 'chat.completion',
'created': 1714271676,
'model': 'gpt-3.5-turbo-0125',
'choices': [
{
'index': 0,
'message': {
'role': 'assistant',
'content': 'sfsdfs {n "plant": {n "light blocker": 1,n "give water": 0,n "spray water": 0,n "conditions": {n "humidity (%)": 56.78,n "temperature (C)": 23.45,n "light": 1,n "soil moisture": 654n }n}netc text n}'
},
'logprobs': None,
'finish_reason': 'stop'
}
],
'usage': {
'prompt_tokens': 225,
'completion_tokens': 78,
'total_tokens': 303
},
'system_fingerprint': 'fp_3b956da36b'
}
# Extracting the content from the message
content = response_message['choices'][0]['message']['content']
# Remove the "etc text" from the content
cleaned_content = content.split("{n" ,1)[1]
cleaned_content = cleaned_content.split('}n',1)[0] + '}'
cleaned_content = '{n' + cleaned_content
content_json = json.loads(cleaned_content)
print(content_json)
just want a code without error
json.loads() giving error can someone explain
i searched on google but there telling to add r""
but how can solve this error?
3
Answers
You can add
print(cleaned_content)
statement right before json.loads(cleaned_content). You’ll notice that it’s missing two closing braces"}"
, which is why the JSON parsing results in an error.There is invalid garbage before the first curly brace and between the 2nd and last curly brace. Use the following to generate corrected
cleaned_content
fromcontent
, but I suspect this isn’t the actual response:During the execution of your program, it failed to produce the desired output due to an incorrect string format. I noticed a formatting error in your code: the string "cleaned_content" is missing a closing right curly brace "}". What you need to do now is to replace split with rsplit, which will eliminate the formatting error present at the last occurrence of }n in the string.And give a correction here: