Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON去序列化正在生成正确数量的空对象_Json_C# 4.0_Json.net - Fatal编程技术网

JSON去序列化正在生成正确数量的空对象

JSON去序列化正在生成正确数量的空对象,json,c#-4.0,json.net,Json,C# 4.0,Json.net,我正在尝试反序列化json。据我所知,它正在被反序列化,因为它正在生成与json字符串中相同数量的数组项。但是数组的items\ objects为空(null) 下面是返回的json [{ "ID": "BM101", "courseName": "Mas Communications", "courseShortName": "MC", "isSynchronized": "0" }, { "ID": "CS105", "courseName":

我正在尝试反序列化json。据我所知,它正在被反序列化,因为它正在生成与json字符串中相同数量的数组项。但是数组的items\ objects为空(null)

下面是返回的json

[{
    "ID": "BM101",
    "courseName": "Mas Communications",
    "courseShortName": "MC",
    "isSynchronized": "0"
}, {
    "ID": "CS105",
    "courseName": "Discrete Mathematics",
    "courseShortName": "DM",
    "isSynchronized": "0"
}, {
    "ID": "CS65",
    "courseName": "Linera Algebra",
    "courseShortName": "LA",
    "isSynchronized": "0"
}, {
    "ID": "SE951",
    "courseName": "Digital Image Processing",
    "courseShortName": "DIP",
    "isSynchronized": "0"
}]
下面是我用来反序列化它的类

namespace ASAS
{    
    public class Serial_Courses
    {
        string ID {set;get;}
        string courseName {set;get;}
        string courseShortName{set;get;}
        string isSynchronized { set; get; }
    }
}
这是我的代码,我使用的是Newonsoft.JSON

var json = new WebClient().DownloadString(url);
Serial_Courses[] sc = JsonConvert.DeserializeObject<Serial_Courses[]>(json);    

Newtonsoft无法访问
Serial\u Courses
对象的属性,因此无法将JSON属性反序列化到它们中。如果未在类的属性上指定访问修饰符,则它们是私有的。如果您将
public
添加到您的属性中,反序列化应该会按预期工作。

该死的,我犯了这样一个错误。。。谢谢,请把它作为回复贴出来,这样我就可以接受了
<?php 
header("Content-Type:application/json");
include('dblink.php');
$query = "";
if($_GET["mode"] == "1") 
    $query =  "SELECT * FROM courses";
elseif($_GET["mode"] == "2")
    $query =  "SELECT * FROM grades";
elseif($_GET["mode"] == "3")
    $query =  "SELECT * FROM students"; 
elseif($_GET["mode"] == "4")
    $query =  "SELECT * FROM student_courses";
elseif($_GET["mode"] == "5")
    $query =  "SELECT * FROM student_lecture";
elseif($_GET["mode"] == "6")
    $query =  "SELECT * FROM teacher";
elseif($_GET["mode"] == "7")
    $query =  "SELECT * FROM teacher_courses";
elseif($_GET["mode"] == "8")
    $query =  "SELECT * FROM timetable";
elseif($_GET["mode"] == "9")
    $query =  "SELECT * FROM user_accounts";

$result = mysql_query($query);
$json_response = "";
if(  mysql_num_rows($result)==1)
{
    $r = mysql_fetch_assoc($result);
    $json_response = json_encode($r);
}
elseif(mysql_num_rows($result)>1)
{
    $firsttime = 0; 
    $json_response = "[";
    while( $r = mysql_fetch_assoc($result) )
    {
        if($firsttime != 0)     
        {
            $json_response .= ",";          
        }

        $json_response .= json_encode($r);
        $firsttime = 1;
    }
    $json_response .= "]";
}
echo $json_response;
?>