es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo utilizar JSON.stringify correctamente con un objeto JS devuelto por PHP.

Tengo un script de PHP que ejecuta un script de Python y recibo un objeto como este:

JSON
{‘data’: [{‘article title’, ‘article description’, ‘timestamp’, ‘weburl’}], ‘status’: 200, ‘answers’: [1]}

Como sé que tengo que transformarlo en JSON de JavaScript desde un tipo de objeto de JavaScript.

Y he intentado esto:
js
myjs = JSON.parse(JSON.stringify(answer))

y
js
JSON.stringify(answer)

o incluso simplemente concatenando con “al principio y al final. Pero ninguno me dio un buen resultado. Entonces, ¿cuál es la forma correcta? o ¿debería cambiar algo en el lado de PHP?

La parte de PHP es simplemente esto:


if ($_GET['times'] == 0) { $command = escapeshellcmd('python3 feed.py '. $_GET['subject']); $output = json_encode(shell_exec($command)); header('Content-type: application/json'); echo $output; }

Esto es en mi script de Python:


!/usr/bin/python import requests import json import html import sys requestpost = requests.post('NewsSource') response_data = requestpost.json() data = [] status = 0 answers = 0 out = {"data":[], "status":[], "answers":[0]} searchterm = sys.argv[1] error = 0 if requestpost.statuscode == 200: out["status"] = 200 for news in responsedata["news"]: try: currentNews = json.loads(news) if ((html.unescape(currentNews["title"]) != "Array" and html.unescape(currentNews["title"]).lower().find(searchterm.lower()) != -1) or (html.unescape(currentNews["description"]).lower().find(searchterm.lower()) != -1)): outnews = {html.unescape(currentNews["timestamp"]), html.unescape(currentNews["title"]), html.unescape(currentNews["description"]), html.unescape(currentNews["link"])} out["data"].append(outnews) out["answers"][0] = out["answers"][0] +1 except: error += 1 else: out["status"] = 404 print (out)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    La forma correcta de transformar el objeto a un formato javascript JSON desde un tipo de objeto javascript es usando el método JSON.stringify(). Este método toma un objeto en JavaScript y lo convierte en una cadena JSON.

    Por ejemplo, puedes utilizar el siguiente código para convertir el objeto en una cadena JSON:
    js
    let jsonString = JSON.stringify(answer);

    Luego puedes utilizar el método JSON.parse() para convertir la cadena JSON de vuelta a un objeto en JavaScript. Por ejemplo:
    js
    let jsObject = JSON.parse(jsonString);

Comments are closed.