开篇先说明最重要的一点,微信小程序提供的HTTP API访问云数据库,需要post的数据格式一定要严格按照官方文档的格式来post,包括标点符号!具体怎样访问微信小程序云数据库,请查看我https://www.jianshu.com/p/8ee1f870add6这篇文章,在本篇文章里将不再进行讲解。
官方文档查询数据库post的data如下截图,注意标点符号,例如“\”在C#里面写的时候一定要用转义字符"\",所以要写成“\\”,实例中的双引号在C#里面也要加上转义字符!
官方文档查询数据库post的数据截图C#中需要在NuGet中搜索并安装Newtonsoft.Json模块,用来将字符串转成json并读取json里面的key和value,安装完模块后需要添加newtonsoft.json.linq,以及newtonsoft.json,代码截图以及代码如下:
其实这个模块很小,很小 添加如上引用源程序部分代码如下:
```
string queryString = "{\"env\":\"hy-bg0y0\", \"query\": \"db.collection(\\\"PERSON_INFO\\\").where({ID_CARD:\\\"37048119870826092X\\\"}).limit(10).get()\"}";
byte[] byteData = Encoding.UTF8.GetBytes(queryString);
string url = "https://api.weixin.qq.com/tcb/databasequery?access_token=你的access_token"; //POST到网站
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/json;charset=UTF-8";
webRequest.ContentLength = byteData.Length;
Stream newStream = webRequest.GetRequestStream();
newStream.Write(byteData, 0, byteData.Length);
newStream.Close();
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
StreamReader php = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string Message = php.ReadToEnd();
textBox1.Text = Message;
php.Close();
StringReader readertext = new StringReader(Message);
JsonTextReader reader = new JsonTextReader(readertext);
JObject jo = (JObject)JToken.ReadFrom(reader);
string temp = jo["data"][0].ToString();//data里面第一个列表里面的json数据
StringReader readertext1=new StringReader(temp);
JsonTextReader reader1= new JsonTextReader(readertext1);
JObject jo1 = (JObject)JToken.ReadFrom(reader1);
MessageBox.Show(jo1["EDUCATION"].ToString());
```
网友评论