android - Flutter 应用程序从服务器接收 json 文件

标签 android node.js json flutter

我想从我的服务器(只是一些基本的 Node js 服务器)发送 json 数据到我的应用程序,我想在控制台中看到我接收到这些数据并打印它。

Json文件(只是为了它,没什么特别的)

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
  },
  {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
  }

]

服务器代码

var http=require('http');
var fs=require('fs');
var file=fs.readFileSync('tmp.json','utf8'); //tmp is name of my json file
var server=http.createServer(function(req,res)
{
 res.writeHead(200,{'Content-Type': 'text/plain'}); 
 res.end(file);  
});
server.listen(3000,'127.0.0.1'); 

来自Flutter Application的代码,负责获取文件并打印

class AwesomeButtonState extends State<AwesomeButton>
{
  Future<String>GetData() async
  {
    var responce=await http.get(
      Uri.encodeFull("127.0.0.1:3000"),
      headers: {
      "Accept": "text/json" 
      }
    );
    //print(responce.body);
    List data= json.decode(responce.body); //konwersja na liste
    print(data[1]["title"]); 
      }

  }

我收到的错误是:

ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Scheme not starting with alphabetic character (at character 1)

当我尝试从其他服务器获取数据时,例如http://jsonplaceholder.typicode.com/posts一切正常,所以我认为这不是应用程序的问题,而是服务器的问题。我已经尝试更改服务器中的内容类型,但没有成功。

最佳答案

“Scheme not starting with alphabetic character (at character 1)”错误说明您的架构 (= url) 不正确。 尝试调用

http.get("http://127.0.0.1:3000"....

关于android - Flutter 应用程序从服务器接收 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55003844/

相关文章:

python - python 中紧凑但漂亮的 JSON 输出?

android - 为 DatePicker 自定义样式 Theme.Holo.Light.Dialog.MinWidth

java - android - Firebase Google 身份验证用户未注销

node.js - 如何从 CSV 文件将经纬度值添加到数据库中

node.js - 如何在离线构建服务器上安装Npm模块?

php - 嵌套查询未运行,始终返回 null。

javascript - 天气 API (openweathermap) 显示温度错误

java - Android Studio 3 的代理问题

android - 当用户从我的 PreferenceActivity(SettingActivity) 中选择选项时,如何隐藏通知

node.js - Mongoose - 人口 MissingSchemaError