Threebody1 发表于 2023-7-28 17:18:58

[已解决]怎么返回一个 json?

本帖最后由 Threebody1 于 2023-7-30 00:00 编辑

我想在我的网站上添加一个返回 json 的页面,如何实现?像https://api.github.com/repos/dddddgz/star-motion-simulate/stargazers一样

陶远航 发表于 2023-7-28 17:19:16

要在你的网站上添加一个返回 JSON 的页面,你需要使用服务器端编程语言来实现。以下是一个简单的示例使用 Python 和 Flask 框架来创建一个返回 JSON 数据的页面:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/jsondata')
def json_data():
    data = {
      'name': 'John Doe',
      'age': 25,
      'country': 'USA'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()


在这个例子中,我们使用 Flask 创建了一个简单的 Web 应用。@app.route('/jsondata') 定义了一个路由,当访问 /jsondata 时,将会触发 json_data() 函数。

在 json_data() 函数中,我们创建了一个字典 data 来表示要返回的 JSON 数据。然后使用 jsonify(data) 将字典转换为 JSON 格式的响应。

你可以使用类似的方法,将你想要的数据组织成字典,并使用 jsonify() 方法返回 JSON 响应。记得根据你的具体需求修改路由和数据内容。

请注意,这只是一个简单的示例,实际情况可能更复杂,具体的实现取决于你使用的编程语言和框架。
如果问题已经解决,请设置最佳答案

isdkz 发表于 2023-7-28 17:19:21

要在你的网站上添加一个返回 JSON 的页面,你可以使用后端编程语言和框架来实现。下面我将用Python和Flask框架作为例子来说明如何实现。

首先,你需要安装Python和Flask。确保你已经安装了Python,并使用以下命令安装Flask:

pip install Flask


接下来,创建一个Python文件,比如 app.py ,并在其中编写以下代码:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/stargazers', methods=['GET'])
def get_stargazers():
    # 在这里编写获取数据的逻辑,可以是从数据库、API或其他来源获取数据
    # 假设这里我们使用一个示例数据
    stargazers_data = [
      {"username": "user1", "stars": 100},
      {"username": "user2", "stars": 50},
      {"username": "user3", "stars": 20}
    ]

    # 使用jsonify函数将数据转换为JSON格式并返回
    return jsonify(stargazers_data)

if __name__ == '__main__':
    app.run()


在这个例子中,我们使用Flask创建了一个简单的Web应用,其中定义了一个路由 /api/stargazers ,当用户访问这个路由时,会返回一个包含星标用户信息的JSON。

启动应用程序,可以执行以下命令:

python app.py


这将在本地运行你的Flask应用程序,并在终端中显示类似于Running on http://127.0.0.1:5000/的消息。

现在,当你在浏览器中访问http://127.0.0.1:5000/api/stargazers或使用curl命令,你将会得到一个类似于以下内容的JSON响应:

[
    {"username": "user1", "stars": 100},
    {"username": "user2", "stars": 50},
    {"username": "user3", "stars": 20}
]


请注意,在实际应用中,你应该替换示例数据为真实的数据源,可能是从数据库、API或其他地方获取数据。这样你的网站就可以像https://api.github.com/repos/ddd...simulate/stargazers一样返回JSON数据了。

陶远航 发表于 2023-7-28 17:20:01

要在您的网站上添加一个返回 JSON 的页面,您需要使用服务器端编程语言(如Python、Java、PHP等)来处理请求并生成相应的 JSON 数据。以下是一个示例使用Python和Flask框架的代码:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data', methods=['GET'])
def get_data():
    data = {
      'key1': 'value1',
      'key2': 'value2',
      'key3': 'value3'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()


在这个例子中,我们使用Flask创建了一个简单的Web应用程序,并定义了一个路由/data。当发送GET请求到/data时,会执行get_data函数并返回一个JSON响应。

您可以根据自己的需求修改data字典的内容,构建您想要返回的JSON数据。然后,您可以将这段代码部署到您的服务器上,并通过访问https://你的网站地址/data来获取返回的JSON数据。

请注意,这只是一个简单的示例,实际的实现方式可能因您使用的编程语言和框架而有所不同。
如果问题已经解决,请设置最佳答案

Threebody1 发表于 2023-7-28 17:20:27

isdkz 发表于 2023-7-28 17:19
要在你的网站上添加一个返回 JSON 的页面,你可以使用后端编程语言和框架来实现。下面我将用Python和Flask ...

?????????我想让 dddddgz.github.io 上的某个页面返回 json啊

Threebody1 发表于 2023-7-28 17:20:57

陶远航 发表于 2023-7-28 17:20
要在您的网站上添加一个返回 JSON 的页面,您需要使用服务器端编程语言(如Python、Java、PHP等)来处理请 ...

回复2次是什么bug

liuhongrun2022 发表于 2023-7-28 17:35:05

<!DOCTYPE html>
<html>
<head>
    <script>
      window.onload = function() {
            var jsonData = {
                "name": "John",
                "age": 30,
                "city": "New York"
            };

            var jsonStr = JSON.stringify(jsonData);

            document.getElementById("jsonOutput").innerHTML = jsonStr;
      };
    </script>
</head>
<body>
    <pre id="jsonOutput"></pre>
</body>
</html>

Threebody1 发表于 2023-7-28 17:39:05

liuhongrun2022 发表于 2023-7-28 17:35


不行哎,requests爬取到的是
<!DOCTYPE html>
<html>
<head>
    <script>
      window.onload = function() {
            var jsonData = {
                "name": "John",
                "age": 30,
                "city": "New York"
            };

            var jsonStr = JSON.stringify(jsonData);

            document.getElementById("jsonOutput").innerHTML = jsonStr;
      };
    </script>
</head>
<body>
    <pre id="jsonOutput"></pre>
</body>
</html>

陶远航 发表于 2023-7-28 17:40:52

Threebody1 发表于 2023-7-28 17:20
回复2次是什么bug

有个人把之前已解决了的设为未解决,脚本检测到增加了,直接获取第一个问题来回答。。。

Threebody1 发表于 2023-7-28 17:42:36

陶远航 发表于 2023-7-28 17:40
有个人把之前已解决了的设为未解决,脚本检测到增加了,直接获取第一个问题来回答。。。

我编辑帖子的时候不小心把类型改了

陶远航 发表于 2023-7-28 17:43:05

Threebody1 发表于 2023-7-28 17:42
我编辑帖子的时候不小心把类型改了

我说呢{:10_277:}

Threebody1 发表于 2023-7-28 17:43:44

陶远航 发表于 2023-7-28 17:43
我说呢

{:10_256:}你的脚本现在是不是报错了

陶远航 发表于 2023-7-28 17:44:27

Threebody1 发表于 2023-7-28 17:43
你的脚本现在是不是报错了

不是,我加了检测,就是为了防止你们这些人

Threebody1 发表于 2023-7-28 17:45:34

陶远航 发表于 2023-7-28 17:44
不是,我加了检测,就是为了防止你们这些人

刚才我新建了一个主题又删掉了{:10_256:}应该可以

陶远航 发表于 2023-7-28 17:47:12

Threebody1 发表于 2023-7-28 17:45
刚才我新建了一个主题又删掉了应该可以

while True:
    try:
      #do something
    except:
      pass

这个是干什么用的{:10_256:}

Threebody1 发表于 2023-7-28 17:48:54

陶远航 发表于 2023-7-28 17:47
这个是干什么用的

{:10_306:}

isdkz 发表于 2023-7-28 19:23:51

你直接建一个 .json 的文件,然后放着 json 结构的字符串就行了
页: [1]
查看完整版本: [已解决]怎么返回一个 json?