正确格式化php输出

时间:2018-01-11 09:56:33

标签: php arrays string unity3d arangodb

我做了一些研究,但我无法找到我想要的东西。 我远非PHP专家,但我想我正在尝试做一些相当简单的事情。

在Unity3D中,我希望从PHP输出中收到一些值,我会收到一个帖子请求。

输出来自arangoDB,如下所示:

array(1) {
  [0]=>
  object(ArangoDBClient\Document)#9 (9) {
    ["_id":protected]=>
    string(16) "Producten/140368"
    ["_key":protected]=>
    string(6) "140368"
    ["_rev":protected]=>
    string(11) "_WMOJhJe--_"
    ["_values":protected]=>
    array(3) {
      ["Naam Product"]=>
      string(9) "Naam-Foo2"
      ["Categorie Product"]=>
      string(14) "Categorie-Foo2"
      ["Discipline Product"]=>
      string(15) "Discipline-Foo2"
    }
    ["_changed":protected]=>
    bool(true)
    ["_isNew":protected]=>
    bool(false)
    ["_doValidate":protected]=>
    bool(false)
    ["_hiddenAttributes":protected]=>
    array(0) {
    }
    ["_ignoreHiddenAttributes":protected]=>
    bool(false)
  }
}

我只对这部分感兴趣:

["Naam Product"]=>
      string(9) "Naam-Foo2"
      ["Categorie Product"]=>
      string(14) "Categorie-Foo2"
      ["Discipline Product"]=>
      string(15) "Discipline-Foo2"

最佳案例场景,格式如下:

Naam Product: Naam-Foo2;
Categorie Product: Categorie-Foo2;
Discipline Product: Discipline-Foo2;

如何过滤此信息,以便在Unity中读取数据时获得干净的数据?

对此有何建议?先进的Thnx!

2 个答案:

答案 0 :(得分:1)

尝试使用getAll方法:

$interested_array = $filter[0]->getAll();
print_r($interested_array);

答案 1 :(得分:1)

就我而言,将JSON数据从服务器发送到客户端会更好。只需将Newtonsoft.Json库添加到Unity3D项目中即可。然后,您可以轻松地将收到的json字符串反序列化为C#对象。这是一个简单的例子:

string jsonString = "Your json string";

var deserializedObject = Newtonsoft.Json.JsonConvert.DeserializeObject<YOUR_POCO_OBJECT>(jsonString);

现在您可以使用deserializedObject字段

这是一个简单的C#控制台应用程序示例

namespace JsonDEMO
{
    public class Product
    {
        public string Name { get; set; }
        public string Category { get; set; }
        public string Discipline { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string jsonString = "{ 'Name': 'Naam-Foo2','Category': 'Categorie-Foo2','Discipline': 'Discipline-Foo2'}";

            var deserializedObject = Newtonsoft.Json.JsonConvert.DeserializeObject<Product>(jsonString);

            System.Console.WriteLine(deserializedObject.Name);
            System.Console.WriteLine(deserializedObject.Category);
            System.Console.WriteLine(deserializedObject.Discipline);
        }
    }
}